자바스크립트 엔진은 소스코드를 한 줄씩 순차적으로 실행하기에 앞서 먼저 소스코드의 평가 과정을 거쳐서 소스코드를 실행하기 위한 준비를 한다. 이때 소스코드 실행을 위한 준비 단계인 소스코드의 평가 과정에서 JS엔진은 변수 선언을 포함한 모든 선언문을 코드에서 찾아 먼저
리터럴은 사람이 이해할 수 있는 문자 또는 약속된 기호를 사용해 값을 생성하는 표기법이다. 사람이 이해할 수 있는 문자의 예로는 아라비아 숫자, 알파벳, 한글 등이 있고, 미리 약속된 기호는 '', "", ., \[], {}, // 등이 있다.JS 엔진은 코드가 실행되
'+' 연산자는 피연산자 중 하나 이상이 문자열인 경우 문자열 연결 연산자로 동작한다. 그 외의 경우에는 산술 연산자로 동작한다. 다음은 예시이다.이 예제에서 주목할 것은 개발자의 의도와는 상관없이 자바스크립트 엔진에 의해 암묵적으로 타입이 자동 변환되기도 한다는 것이
JS엔진은 표현식을 평가할 때 코드 문맥에 부합하도록 암묵적 타입 변환을 실행한다. 예를 들어, ES6에서 도입된 템플릿 리터럴의 표현식 삽입은 표현식의 평가 결과를 문자열 타입으로 암묵적 타입 변환 한다.개발자의 의도에 따라 명시적으로 타입을 변경하는 방법은 다양하다
객체는 0개 이상의 프로퍼티로 구성된 집합이며, 프로퍼티는 키와 값으로 구성된다.JS에서 사용할 수 있는 모든 값은 프로퍼티 값이 될 수 있다. JS의 함수는 일급 객체 이므로 값으로 취급할 수 있다. 따라서 함수도 프로퍼티 값으로 사용할 수 있다. 프로퍼티 값이 함수