Primitive type 값과 Object type 값이 자바스크립트 엔진에 저장되는 방식을 알 수 있다.
자바스크립트 엔진은 자바스크립트 코드를 실행하는 컴퓨터 프로그램이다.
자바스크립트를 사용하기 위해서는 자바스크립트 엔진이 필수적이다.하지만 자바스크립트 엔진만으로는 부족하다.자바스크립트 엔진과 엔진 이외의 부속 도구들을 모아놓은 큰 상자 또는 컨테이너가 자바스크립트 런타임이다.
자바스크립트 코드는 Call stack안에 있는 Execution Context 안에서 실행된다.
Scope는 특정 변수가 선언된 공간 또는 환경을 의미한다.Scoping은 자바스크립트 엔진이 프로그램 변수들을 구성하고 접근 방법을 제어하는 것을 말한다.
this는 모든 execution context(function)를 위해 생성되는 특별한 변수 / 키워드이다.this는 this가 사용된 함수의 소유자를 가리키는데, 이 값은 함수가 호출될 때 값이 결정되는 동적인 값이다.
호이스팅은 일부 타입의 변수를 실제로 선언되기 전에 코드 내에서 접근 또는 사용가능하게 하는 것을 의미한다.
함수 선언 방법과 default parameter
자바스크립트에서 함수는 1급시민으로 취급된다.즉 함수는 value라는 의미이다.
함수는 객체의 한 종류이기 때문에 메서드를 가질 수 있다. 객체의 메서드를 할당받은 변수는 this 키워드를 재정의해주기 위해 3가지 메서드를 사용할 수 있다.
IIFE는 즉시 실행 함수 표현을 의미한다. 즉시 실행하고 바로 사라진다.
closure는 자식함수가 자신이 선언된 부모 함수의 변수환경에 접근할 수 있게 도와주는 연결고리와 같다.
OOP(Object-Oriented Programming, 객체 지향 프로그래밍)란 객체 개념에 기반을 둔 프로그래밍 패러다임을 의미한다.
생성자 함수와 class를 통해 프로그래밍적으로 객체를 생성할 수 있다.
AJAX(Asynchronous Javascript And XML)는 자바스크립트를 이용하여 웹 서버와 브라우저가 비동기적으로 통신할 수 있는 개발 기법이다.
모든 자바스크립트 코드는 자바스크립트 런타임에서 실행된다.