스코프와 실행 컨텍스트

스코프와 실행 컨텍스트는 자바스크립트의 핵심 개념 중 하나입니다. 이 두 가지 개념은 자바스크립트가 어떻게 변수와 함수를 관리하고 실행하는지 이해하는 데 중요한 역할을 합니다.

스코프 (Scope)

스코프는 변수와 함수의 유효 범위를 나타내는 개념입니다. 스코프는 변수 및 함수가 어디에서 선언되었는지에 따라 결정됩니다.

글로벌 스코프 (Global Scope)

글로벌 스코프는 프로그램 전체에서 접근 가능한 스코프입니다. 즉, 어디서든지 변수 및 함수에 접근할 수 있습니다. 이는 스크립트의 최상위에 선언된 변수 및 함수들이 글로벌 스코프에 속한다는 의미입니다.

함수 스코프 (Function Scope)

함수 스코프는 함수 내에서 선언된 변수 및 함수들이 해당 함수 내에서만 접근 가능하다는 것을 의미합니다. 함수 외부에서는 해당 변수 및 함수에 접근할 수 없습니다. 이를 통해 변수와 함수의 충돌을 방지할 수 있습니다.

블록 스코프 (Block Scope)

ES6 이전의 자바스크립트에서는 블록 스코프를 지원하지 않았습니다. 하지만 ES6에서 letconst라는 블록 스코프 변수를 도입하여 변수의 유효 범위를 블록으로 제한할 수 있게 되었습니다.

실행 컨텍스트 (Execution Context)

실행 컨텍스트는 코드가 실행될 때 생성되는 환경으로, 변수, 함수 선언 및 실행 순서와 관련된 정보를 담고 있습니다. 실행 컨텍스트는 스코프 체인, 호이스팅과 같은 동작에 대한 근본적인 이해를 제공합니다.

실행 컨텍스트에는 전역 컨텍스트와 함수 컨텍스트가 있습니다. 전역 컨텍스트는 스크립트 최상위 수준에서 실행될 때 생성되며, 함수 컨텍스트는 함수가 호출될 때마다 생성됩니다.

마무리

스코프와 실행 컨텍스트는 자바스크립트의 핵심 개념 중 일부입니다. 이러한 개념을 이해하면 변수와 함수의 유효 범위 및 실행 순서를 제어할 수 있습니다. 자바스크립트 개발자에게는 이러한 개념을 잘 이해하고 활용하는 것이 중요합니다.

#JavaScript #스코프 #실행컨텍스트