본문 바로가기

Front-End/JavaScript

(2)
실행 컨텍스트(Execution context) 실행 컨텍스트 정리 중 일단 끄적이기 실행컨텍스트는 scope, hoisting, this, function, closure 등의 동작원리를 담고있는 실행 컨텍스트(Execution Context)는 scope, hoisting, this, function, closure 등의 동작원리를 담고 있는 자바스크립트의 핵심원리이다. 실행 컨텍스트를 바로 이해하지 못하면 코드 독해가 어려워지며 디버깅도 매우 곤란해 질 것이다. 실행 컨텍스트란? 실행 가능한 코드를 형상화하고 구분하는 추상적인 개념인데, 이해하기 쉽게 말하자면 실행 가능한 코드가 실행되기 위해 필요한 환경으로 말할 수 있습니다. 이것도 역시 코드를 먼저 보겠습니다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 function ..
호이스팅(Hoisting) 호이스팅에 대한 정리 중... 일단 끄적이기 실행컨텍스트도 정리해야함. 호이스팅보다 먼저오게해야지 호이스팅이란? Hoisting 의 사전적 정의는 끌어올리기, 들어올려 나르기이다. 먼저 코드를 보자. 1 2 3 console.log(a); var a = 100; console.log(a); cs 위 코드는 자바스크립트에서 문제없이 동작한다. 그 이유는 이 포스트의 주제인 호이스팅때문이다. 자바스크립트에서의 호이스팅은 var 선언문이나 혹은 function 선언문 등 모든 선언문이 해당 Scope 의 최상단으로 끌어올려진 것처럼 동작하는 특성을 일컫는다. 즉, 자바스크립트에서의 모든 선언문은 선언되기 이전에 참조가 가능하다. 이러한 동작을 하는 이유는 변수 선언부터 이해해야한다. 변수 선언은 총 3단계로 ..