렉시컬 스코프

정의 스코프란 자바스크립트 엔진이 참조의 대상이 되는 식별자(Identifier)를 검색할 때 사용하는 규칙의 집합이다. 즉, 어떤 변수를 사용하거나 함수를 호출하려고 할 때 식별자로 사용하는데, 그 식별자를 검색하는 매커니즘이라 생각하면 된다. 렉시컬 스코프 (정리글) 프로그래머가 코드를 짤 때, 변수 및 함수/블록 스코프를 어디에 작성하였는가에 따라 정해지는 스코프를 렉시컬 스코프라 한다. "렉시컬(Lexical)"이라는 명칭이 붙은 이유는 자바스크립트 컴파일러가 소스코드를 토큰(Token)으로 쪼개서 의미를 부여하는 렉싱(Lexing) 단계에 해당 스코프가 확정되기 때문이다.(렉싱 타임에 정의되는 스코프) 즉, 변수 혹은 함수/블록이 어디에 써있는가를 보고 그 스코프를 판단하면 된다. 스코프 체인 ..
렉시컬 스코프란? 개발자가 코드를 작성할 때 함수를 어디에 선언하는지에 따라 정의되는 스코프 컴파일레이션의 렉싱단계에서 모든 확인자가 선언된 위치를 파악해 실행 단계에서 어떤 확인자를 검색할지 예상할 수 있도록 도와준다. const foo = (a) => { var b = a * 2; const bar = (c) => { console.log(a, b, c); } bar(b * 3); } foo(2); // 2, 4, 12 위의 코드에는 3개의 중첩 스코프가 있다. 글로벌 스코프이며, 해당 스코프 안에는 하나의 확인자(foo)만 있다. foo의 스코프이며, 해당 스코프는 3개의 확인자(a, bar, b)가 있다. bar의 스코프이며, 해당 스코프는 하나의 스코프(c)만 있다. 검색 엔진은 스코프 버블의 ..
58청춘
'렉시컬 스코프' 태그의 글 목록