JS딥다이브 [자바스크립트 딥다이브] 23장 실행 컨텍스트 소스코드 평가 과정에서는 실행 컨텍스트를 생성하고 변수, 함수 등의 선언문만 먼저 실행하여 생성된 변수나 함수 식별자를 키로 실행 컨텍스트가 관리하는 스코프(렉시컬 환경의 환경 레코드)에 등록한다. 따라서 전역 코드의 변수 선언문과 함수 선언문이 먼저 실행. 2. 전역 코드 실행 함수 내부로 진입 ➡️ 함수 내부 문들을 실행하기 앞서 평가 ➡️ 매개변수와 지역 변수 선언문이 먼저 실행 ➡️ ... JS딥다이브JS딥다이브 [자바스크립트 딥다이브] 45장 프로미스 따라서 비동기 함수 내부의 비동기로 동작하는 코드에서 처리 결과를 외부로 반환하거나 상위 스코프의 변수에 할당하면 기대한 대로 동작하지 않는다. setTimeout이 비동기 함수인 이유는 콜백 함수의 호출이 비동기로 동작하기 때문이며, 이 함수를 호출하면 콜백 함수를 호출 스케줄링한 다음, 타이머 id를 반환하고 즉시 종료된다. 따라서 setTimeout 함수 내부의 콜백 함수에서 처리 결과... JS딥다이브JS딥다이브 [딥다이브] 17장 생성자 함수 new 연산자와 함께 Object 생성자 함수를 호출하면 빈 객체를 생성하여 반환한다. (알아서 익혀 준다) new 연산자(붕어빵을 굽겠다)와 함께 생성자 함수(빵틀)를 호출하면 다음과 같이 암묵적으로 생성하고, 초기화하고 반환한다. 생성자 함수로서 호출한다는 것은 new 연산자와 함께 호출하여 객체를 생성하는 것을 의미한다. 반대로 new 연산자 없이 생성자 함수를 호출하면 일반 함수로 호... JS딥다이브JS딥다이브 [자바스크립트 딥다이브] 26장 ES6 함수의 추가 기능 화살표 함수(arrow function)는 function 키워드 대신 화살표(=>, fat arrow)를 사용하여 기존의 함수 정의 방식보다 간략하게 함수를 정의할 수 있다. 화살표 함수는 함수 선언문으로 정의할 수 없고 함수 표현식으로 정의해야. 화살표 함수는 함수 자체의 this, arguments, super, new.target 바인딩을 갖지 않는다 만약 화살표 함수와 화살표함수가 ... JS딥다이브JS딥다이브 [자바스크립트 딥다이브] 22장 this 객체 리터럴 방식으로 생성한 객체의 경우 메서드 내부에서 메서드 자신이 속한 객체를 가리키는 식별자를 재귀적으로 참조할 수 있다. 생성자 함수 내부에서는 프로퍼티 또는 메서드를 추가하기 위해 자신이 생성할 인스턴스를 참조할 수 있어야 한다. this를 통해 자신이 속한 객체 또는 자신이 생성할 인스턴스의 프로퍼티나 메서드를 참조할 수 있다. 객체 리터럴의 메서드 내부에서의 this는 메서드를... JS딥다이브JS딥다이브
[자바스크립트 딥다이브] 23장 실행 컨텍스트 소스코드 평가 과정에서는 실행 컨텍스트를 생성하고 변수, 함수 등의 선언문만 먼저 실행하여 생성된 변수나 함수 식별자를 키로 실행 컨텍스트가 관리하는 스코프(렉시컬 환경의 환경 레코드)에 등록한다. 따라서 전역 코드의 변수 선언문과 함수 선언문이 먼저 실행. 2. 전역 코드 실행 함수 내부로 진입 ➡️ 함수 내부 문들을 실행하기 앞서 평가 ➡️ 매개변수와 지역 변수 선언문이 먼저 실행 ➡️ ... JS딥다이브JS딥다이브 [자바스크립트 딥다이브] 45장 프로미스 따라서 비동기 함수 내부의 비동기로 동작하는 코드에서 처리 결과를 외부로 반환하거나 상위 스코프의 변수에 할당하면 기대한 대로 동작하지 않는다. setTimeout이 비동기 함수인 이유는 콜백 함수의 호출이 비동기로 동작하기 때문이며, 이 함수를 호출하면 콜백 함수를 호출 스케줄링한 다음, 타이머 id를 반환하고 즉시 종료된다. 따라서 setTimeout 함수 내부의 콜백 함수에서 처리 결과... JS딥다이브JS딥다이브 [딥다이브] 17장 생성자 함수 new 연산자와 함께 Object 생성자 함수를 호출하면 빈 객체를 생성하여 반환한다. (알아서 익혀 준다) new 연산자(붕어빵을 굽겠다)와 함께 생성자 함수(빵틀)를 호출하면 다음과 같이 암묵적으로 생성하고, 초기화하고 반환한다. 생성자 함수로서 호출한다는 것은 new 연산자와 함께 호출하여 객체를 생성하는 것을 의미한다. 반대로 new 연산자 없이 생성자 함수를 호출하면 일반 함수로 호... JS딥다이브JS딥다이브 [자바스크립트 딥다이브] 26장 ES6 함수의 추가 기능 화살표 함수(arrow function)는 function 키워드 대신 화살표(=>, fat arrow)를 사용하여 기존의 함수 정의 방식보다 간략하게 함수를 정의할 수 있다. 화살표 함수는 함수 선언문으로 정의할 수 없고 함수 표현식으로 정의해야. 화살표 함수는 함수 자체의 this, arguments, super, new.target 바인딩을 갖지 않는다 만약 화살표 함수와 화살표함수가 ... JS딥다이브JS딥다이브 [자바스크립트 딥다이브] 22장 this 객체 리터럴 방식으로 생성한 객체의 경우 메서드 내부에서 메서드 자신이 속한 객체를 가리키는 식별자를 재귀적으로 참조할 수 있다. 생성자 함수 내부에서는 프로퍼티 또는 메서드를 추가하기 위해 자신이 생성할 인스턴스를 참조할 수 있어야 한다. this를 통해 자신이 속한 객체 또는 자신이 생성할 인스턴스의 프로퍼티나 메서드를 참조할 수 있다. 객체 리터럴의 메서드 내부에서의 this는 메서드를... JS딥다이브JS딥다이브