다음과 같은 조건을 만족하는 객체를 일급 객체라 한다.자바스크립트의 함수는 일급 객체이다.무명의 리터럴로 생성 가능. 즉, 런타임에 생성 가능변수나 자료구조(객체, 배열)에 저장 가능함수의 매개변수에 전달 가능함수의 반환값으로 사용 가능함수가 일급 객체라는 것은 함수를
생성자 함수 : new 연산자와 함께 호출하여 객체(인스턴스)를 생성하는 함수인스턴스 : 생성자 함수에 의해 생성된 객체new 연산자와 함께 Object 생성자 함수를 호출하면 빈 객체를 생성하여 반환한다. 빈 객체를 생성한 이후 프로퍼티 또는 메서드를 추가하여 객체를
동일한 이름의 변수가 이미 선언되어 있는 것을 모르고 변수를 중복 선언하면서 값까지 할당했다면 의도치 않게 먼저 선언된 변수 값이 변경되는 부작용이 발생한다.var 키워드로 선언한 변수는 함수의 코드 블록만을 지역 스코프로 인정한다.따라서 함수 외부에서 선언한 변수는
전역 변수를 반드시 사용해야 할 이유를 찾지 못한다면 지역 변수를 사용해야 한다.변수에 생명 주기가 없다면 한번 선언된 변수는 프로그램을 종료하지 않는 한 영원히 메모리 공간을 점유하게 된다.함수가 호촐되면 생성되고 함수가 종료하면 소멸함수의 생명 주기와 일치호이스팅은
자신이 선언된 위치에 의해 다른 코드가 식별자 자신을 참조할 수 있는 유효 범위. 즉, 스코프는 식별자가 유효한 범위렉시컬 환경 : 코드가 어디서 실행되며 주변에 어떤 코드가 있는지실행 컨텍스트 : 렉시컬 환경을 구현한 것만약 스코프라는 개념이 없다면 같은 이름을 갖는
실행 컨텍스트는 자바스크립트의 동작 원리를 담고 있는 핵심 개념이다.실행 컨텍스트가 중요한 이유 : 스코프, 호이스팅 발생 이유, 클로저 동작 방식, 태스크 큐, 비동기 처리 방식을 이해할 수 있다.소스코드의 타입에 따라 실행 컨텍스트를 생성하는 과정과 관리 내용이 다