[JavaScript] Lexical Scope(static scope)와 Dynamic Scope


[JavaScript] Lexical Scope(static scope)와 Dynamic Scope

일반적으로 프로그래밍에서 스코프란, 변수가 유효한 범위를 뜻한다. 일반적으로, 자바스크립트를 포함한 대부분의 프로그래밍 언어(C, Java 등...)는 Lexical scope를 따른다. 그래서 Lexical Scope가 무엇인지 말하자면, 이는 함수를 어디서 선언했는지에 따라서 상위 스코프가 결정되는 것을 말한다. 반대로, 함수가 어디에서 호출되었는가에 따라서 스코프가 정해지는 것을 Dynamic Scope라고 한다. 예시를 들어보겠다. 위 코드의 결과는 어떻게 될까? 만약 자바스크립트가 Dynamic Scope를 따랐다면 1, 1234처럼 나왔을 것이다. 하지만 자바스크립트는 Lexical Scope를 따르기 때문에, 함수의 선언에 따라 상위 스코프가 정해졌으므로 결과..........

[JavaScript] Lexical Scope(static scope)와 Dynamic Scope에 대한 요약내용입니다.

자세한 내용은 아래에 원문링크를 확인해주시기 바랍니다.



원문링크 : [JavaScript] Lexical Scope(static scope)와 Dynamic Scope