변수란 하나의 값을 저장하기 위해 확보한 메모리 공간 자체 또는 메모리 공간을 식별하기 위해 붙인 이름이다.
null과 undefined의 차이를 알아보자!
개발자의 의도와는 상관없이 표현식을 평가하는 도중에 자바스크립트 엔진에 의해 암묵적으로 타입이 자동 변환된다.
옵셔널 체이닝 연산자(?)는 좌항의 피연산자가 null 또는 undefined인 경우 undefined를 반환하고 그렇지 않으면 우항의 프로퍼티 참조를 이어간다.
원시 타입의 값은 변경 불가능하며 immutable 이라고 한다. 객체 타입의 값은 변경 가능하며 mutable 이라고 한다.
함수란 입력을 받아 출력을 내보내는 일련의 과정이다.
실행 컨텍스트는 실행할 코드에 제공할 환경 정보들을 모아놓은 객체이다.
다른 언어에서와 달리 자바스크립트에서 this는 (클래스 내부가 아니어도) 어디서든지 사용할 수 있다.
콜백 함수는 다른 코드의 인자로 넘겨주는 함수이다. 다른 코드의 인자로 넘겨줌으로써 그 제어권도 함께 위임한다. 제어권을 위임하였다는 건 무슨 의미일까?
클로저란 어떤 함수에서 선언한 변수를 참조하는 내부 함수에서만 발생하는 현상이다.
자바스크립트는 프로토타입 기반 언어이다. 클래스 기반 언어에서는 '상속'을 사용하지만 프로토타입 기반 언어에서는 어떤 객체를 원형으로 삼고 이를 복제(참조)함으로써 비슷한 효과를 얻는다.
클래스는 공통 요소를 지니는 집단을 분류하기 위한 개념으로, 객체 지향 프로그래밍에서 특정 객체를 생성하기 위해 변수와 메소드를 정의하는 일종의 틀이다.
실행 컨텍스트는 실행할 코드에 제공할 환경 정보들을 모아놓은 객체다.
💬 동기와 비동기의 차이점을 설명해 주세요.
클로저는 외부 스코프에 대하여 접근할 수 있는 함수를 제공한다.