Front-end School/JS19 [Javascript] this this의 값은 함수를 호출한 방법에 의해 결정된다. ThisBinding은 실행컨텍스트가 실행되는 순간에 this를 바인딩한다라는 뜻이다. 따라서 this의 값은 함수를 호출될 때 함께 결정된다. 바인딩: 구성 요소의 실제 값 또는 프로퍼티를 결정짓는 행위 호출하는 방식은 다음과 같이 분류된다. 전역공간에서: window / global 함수 호출시: window / global 메서드 호출시: 메서드 호출 주체(메서드명 앞) callback 호출 시: 기본적으로는 함수내부에서와 동일 생성자 함수 호출시: 인스턴스 *arrow function은 this를 바인딩하지 않는다. 1. 전역 공간에서의 this 전역 공간에서는 전역 컨텍스트를 생성하는 주체가 전역 객체이기 때문에 this는 이 전역 객체를 가.. 2023. 1. 24. [Javascript] outerEnvironmentReference와 스코프(scope),스코프체인(scope chain) >[Javascript] environmentRecord와 호이스팅(Hoisting) [Javascript] environmentRecord와 호이스팅(Hoisting) >[Javascript] 실행 컨텍스트 [Javascript] 실행 컨텍스트(Execution Context) 실행 컨텍스트(Execution Context)란 함수를 실행할 때 필요한 조건, 환경정보를 담은 객체이다. 콜 스택(call stack)이란 현재 어떤 함수 luka-frontend.tistory.com outerEnvironmentReference란 현재 문맥의 관련 있는 외부 식별자 정보를 참조한다라고 보면 된다. 스코프(scope)란 스코프란 식별자에 대한 유효범위를 뜻한다. 어떤 경계 A의 외부에서 선언한 변수는 A.. 2023. 1. 17. [Javascript] environmentRecord와 호이스팅(Hoisting) >[Javascript] 실행 컨텍스트 [Javascript] 실행 컨텍스트(Execution Context) 실행 컨텍스트(Execution Context)란 함수를 실행할 때 필요한 조건, 환경정보를 담은 객체이다. 콜 스택(call stack)이란 현재 어떤 함수가 동작중인지, 다음에 어떤 함수가 호출될 예정인지 등을 제어 luka-frontend.tistory.com environmentRecord는 현재 문맥의 식별자 정보(이름, 함수선언, 변수명)가 수집된다. 실행 컨텍스트가 최초 실행될 때 가장 먼저 하는 일이다. 이것을 다른 말로 "호이스팅(Hoisting)"이라고 한다. 호이스팅(Hoisting)은 식별자 정보를 실행 컨텍스트의 맨 위로 끌어올린다. 아래 예시 코드를 참고하자. //호이스.. 2023. 1. 17. [Javascript] 실행 컨텍스트(Execution Context) 실행 컨텍스트(Execution Context)란 함수를 실행할 때 필요한 조건, 환경정보를 담은 객체이다. 콜 스택(call stack)이란 현재 어떤 함수가 동작중인지, 다음에 어떤 함수가 호출될 예정인지 등을 제어하는 자료구조이다. 이 콜 스택(call stack)에 실행 컨텍스트가 어떤 순서로 쌓이는지 아래 코드를 참고해 보자. var a = 1; // 전역 컨텍스트 function outer() { // outer 컨텍스트 console.log(a); // 3 function inner() { // inner 컨텍스트 console.log(a); // undefined var a = 3; } inner(); console.log(a); // 1 } outer(); console.log(a); /.. 2023. 1. 17. 이전 1 2 3 4 5 다음