# deep dive

[Deep Dive] 09장 타입 변환과 단축 평가
모던 자바스크립트 Deep Dive 책의 09장 타입 변환과 단축 평가를 읽고, 요약한 내용입니다.

[Deep Dive] 13장. 스코프
식별자가 유효한 범위를 의미하며 자바스크립트 엔진은 스코프를 통해 어떤 변수를 참조해야 할 것인지를 결정한다.
모던 자바스크립트 Deep Dive - 11
var 키워드로 선언한 변수는 중복 선언이 가능하다.위 예제와 같이 만약 동일한 이름의 변수가 이미 선언되어 있는 것을 모르고 변수를 중복 선언하면서 값까지 할당했다면 의도치 않게 먼저 선언된 변수 갑싱 변경되는 부작용이 발생한다.var 키워드로 선언한 변수는 오로지
모던 자바스크립트 Deep Dive - 9
스코프(scope, 유효범위)는 자바스크립트를 포함한 모든 프로그래밍 언어의 기본적이며 중요한 개념이다.우리는 스코프를 이미 경험했다. 함수의 매개변수는 함수 몸체 내부에서만 참조할 수 있고 함수 몸체 외부에서는 참조할 수 없다고 했다. 이것은 매개변수를 참조할 수 있
모던 자바스크립트 Deep Dive - 8
실행 컨텍스트(execution context)는 자바스크립트의 동작 원리를 담고 있는 핵심 개념이다.ECMAScript 사양은 소스코드(ESMAScript code)를 4가지 타입으로 구분한다. 4가지 타입의 소스코드는 실행 컨텍스트를 생성한다<소스코드 타입>전
모던 자바스크립트 Deep Dive - 7
함수는 객체 타입의 값이다.함수는 갑처럼 변수에 할당 할 수도 있고 프로퍼티 값이 될 수도 있으며 배열의 요소가 될 수도 있다.이처럼 값의 성질을 갖는 객체를 일급 객체라 하며 함수도 이에 포함된다.함수는 일급 객체이므로 함수 리터럴로 생성한 함수 객체를 변수에 할당
모던 자바스크립트 Deep Dive - 6
자바스크립트가 제공하는 7가지 데이터 타입(숫자, 문자열, 불리언, null, undefined, 심벌, 객체 타입)은 크게 원시 타입(primitive type)과 객체 타입(object/regerece type)으로 구분할 수 있다.원시 타입 값 : 변경 불가객체
모던 자바스크립트 Deep Dive - 5
자바스크립트는 객체(object)기반의 프로그래밍 언어이며, 자바스크립트를 구성하는 거의 "모든 것"이 객체다. 원시 값을 제외한 나머지 값(함수, 배열, 정규 표현식 등)은 모두 객체다.원시 타입의 값 : 변경 불가능한 값(immutable value)객체 타입의 값
모던 자바스크립트 Deep Dive - 4
자바스크립트의 모든 값은 타입이 있다. 값에 대한 타입의 변환은 크게 2가지로 나눠지는데 개발자가 의도적으로 값의 타입을 변환하는 것과 개발자의 의도와는 상관없이 표현식을 평가하는 도중에 자바스크립트 엔진에 의해 암묵적으로 타입이 자동으로 변환하는 것이다. 전자는 명시
모던 자바스크립트 Deep Dive - 3
대부분의 if...else 문은 삼항 조건 연산자로 바꿔 쓸 수 있다.위의 예제는 다음과 같이 삼항 조건 연산자로 바꿔 쓸 수 있다.위 예제는 두 가지 경우의 수('홀수' 또는 '짝수')를 갖는 경우이다. 만약 경우의 수가 세 가지('양수, '음수', '영')라면 다음
모던 자바스크립트 Deep Dive -2
숫자 타입이 아닌 피연산자에 + 단한 연산자를 사용하면 피연산자를 숫자 타입으로 변환하여 반환한다. 이때 피연산자를 변경하는 것을 아니고 숫자 타입으로 변환한 값을 생성하여 반환한다. 따라서 부수효과는 없다.\+연산자는 피연산자 중 하나 이상이 문자열인 경우 문자열 연