일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- JavaScript
- 책알남
- 돈
- 화장품
- C
- 프로그래밍언어
- 알고리즘공부
- 독후감
- algorithmTest
- Java
- 주식
- 지혜를가진흑곰
- 성분
- 자바
- 독서
- algorithmtraining
- 알고리즘트레이닝
- 투자
- 책을알려주는남자
- algorithmStudy
- 백준알고리즘
- 다독
- 서평
- 자바스크립트
- 알고리즘 공부
- 경제
- 채권
- 프로그래머스 알고리즘 공부
- 재테크
- C++
- Today
- Total
목록[Snow-ball]프로그래밍(컴퓨터) (331)
탁월함은 어떻게 나오는가?
일급 객체 자바스크립트에는 일급 객체라는 개념이 있다. 일급 객체로 분류되기 위해서는 4가지의 조건이 필요하다. 1. 무명의 리터럴로 생성할 수 있다. 즉, 런타임이 생성이 가능하다 2. 변수나 자료구조(객체, 배열 등)에 저장할 수 있다. 3. 함수의 매개변수에 전달할 수 있다. 4. 함수의 반환 값으로 사용할 수 있다. 자바스크립트의 함수는 밑에 코드를 보면 위의 조건을 모두 만족할 수 있다. 그러므로 일급 객체로 분류된다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 // 1. 함수는 무명의 리터럴로 생성할 수 있다 // 2. 함수는 변수에 저장할 수 있다 // 런타임..
자바스크립트에는 단축 평가가 존재한다. 단축 평가는 다양한 용도로 사용이 가능하다. 보통 논리합(||) 또는 논리곱(&&) 연산자 표현식의 평가 결과는 boolean타입으로 인해서 결과값은 true(1) 또는 false(0) 것이라고 생각할 수 있지만, 꼭 불리언 값이 아닐 수 있다. 예시를 보자. 1 2 3 4 5 let boolean1 = 'Cat' && 'Dog' console.log(typeof boolean1, boolean1) // Dog let boolean2 = 'Cat' || 'Dog' console.log(typeof boolean2, boolean2) // Cat cs 위 결과물을 보면 boolean 타입이 아닌 String 타입으로 객체로 반환이 되는 것을 확인할 수 있다. 이것으로..
replace() 는 어떤 패턴에 일치하는 일부 또는 모든 부분이 교체된 새로운 문자열을 반환한다. 패턴은 문자열이나 정규식이 될 수 있으며, 교체 문자열은 모든 매치에 대해서 호출된 함수일 수 있다. 1 2 3 4 5 6 7 8 const a = "안녕하세요. 반갑습니다. 한국어도 적용되니?" console.log('a = ', a) console.log(a.replace('한국어도 적용되니?', '영어도 가능하지')) console.log('현재 a값 = ' , a) console.log('이번엔? = ' , a.replace('한국어', '이탈리아어')) cs 베타존 : 네이버쇼핑 스마트스토어 나를 꾸미다 - 인테리어소품 베타존 smartstore.naver.com
기본적으로 비교 연산자(comparison operator)는 좌항과 우항의 피연산자를 비교한 다음 그 결과를 불리언값(true 또는 false)으로 반환한다. 그렇기때문에 비교연산자는 if문이나 for문과 같은 제어문의 조건식에 자주 사용하게 된다. 그렇다면 자바스크립트의 == 과 === 은 정확히 어떤 차이가 있을까? 이제부터 == 은 동등비교(loose equality) 라고 부를것이며, === 은 일치비교(strict equality)라고 부르겠다. 동등 비교 연산자와 일치 비교 연산자는 좌항과 우항의 피연산자가 같은 값으로 평가되는지 비교해 불리언값을 반환한다. 하지만 2가지의 비교는 '엄격성'에서 차이가 난다. 동등 비교 연산자는 느슨한 비교를 하지만 일치 비교 연산자는 엄격한 비교를 한다. ..
메모리에 대한 이야기를 하다가 흔히들 이야기를 하는 힙(Heap)과 스택(Stack)에 대한 정확한 정의를 하기 어려워서 찾아보게 되었다. 힙과 스택에 대한 이야기를 하기 전에, 힙과 스택을 사용하려면 메모리 구조에 대해서 먼저 알아보자. 메모리 구조 프로그램이 실행되기 위해서는 먼저 프로그램이 메모리에 로드(load)되어야 한다. 또한, 프로그램에서 사용되는 변수들을 저장할 메모리도 필요하다. 따라서 컴퓨터의 운영체제는 프로그램의 실행을 위해 다양한 메모리 공간을 제공하고 있다. 프로그램이 운영체제로부터 할당받는 대표적인 메모리 공간은 4가지가 있다. 위의 사진은 C++ 동적 메모리에 대한 사진이지만, 메모리구조는 컴퓨터 공학에서 가져오는 이론이기에 C, C++, Java 상관이 없다. 4 major ..
JAVA에서 String 객체를 생성하는 방법은 2가지가 존재한다. 첫번째는 String literal이다. 큰따옴표("")를 사용해서 선언하는것이고, 두번째는 new 연산자로 객체를 생성하는 것이다. 두가지 방법은 어떤 차이가 존재할까? 간단한 테스트를 해보았다. 위의 결과를 비교하면 모든 str에는 동일하게 "testStr"이라는 스트링값이 존재하고 있다. 하지만, str과 str2는 주소값이 동일하고, str3와 str4는 주소가 다른것을 확인 할 수 있다. 그렇다는것은 String literal로 생성한 객체는 내용이 같다면 같은 객체이며, 동일한 메모리 주소를 가리키고 있다는 것이다. 그러나 new 연산자로 생성한 String 객체는 내용이 같더라도 메모리 주소가 다르므로 다른 객체임을 알 수 ..
자바에서 일반적인 데이터 타입의 비교는 == 연산자를 사용한다. 그리고 String 문자열의 값을 비교할때에는 equals()라는 메소드를 사용하여 비교를 하게 된다. equals와 == 두가지 모두 비교하는건데 어떠한 차이점이 있을까?? 결론부터 이야기하자면, == 는 객체의 값(주소)을 비교하는것이다. equals()는 문자열을 비교하는 것이다. == 연산자는 객체를 비교하는 연산자인데 두 변수는 서로 다른 객체이기 때문에, false를 반환한다. 객체가 다른 객체이므로 부여된 주소가 다르기떄문이다. 위에 사진처럼 주소가 다르기때문에 결과값이 false를 반환한다. 따라서 문자열 자체를 비교하고 싶을때는, == 대신 String 클래스의 equals()를 이용해서 비교해야 한다. equals()는 객..
reducer란 현재 state와 action객체를 파라미터로 받아와서 새로운 state를 반환해주는 함수이다 reduer룰 -They should only calculate the new state value based on the state and acton arguments 리듀서는 현재 state와 action 파라미터로 받아서 새로운 state를 반환한다. -They are not allowed to modify the existing state. Instead, they must make immutable updates, by copying the existing state and making changes to the coped values. 기존의 state를 수정할 수 없다. 대신 기존의..