평부
2022. 9. 9. 15:01
* 참고한 강의
https://www.youtube.com/watch?v=0lF2zaQ31Ek&list=PLcqDmjxt30Rt9wmSlw1u6sBYr-aZmpNB3&index=4
스코프 체인
- 함수에서 어떤 값에 접근이 가능한지? 어떤 값에 접근이 불가능한지?
[예시]
const x = "x";
//선언
function c() {
const y = "y";
console.log("c");
function b() {
const z = "z";
console.log(b);
c();
}
}
//선언
function a() {
const x = "x";
console.log("a");
b();
}
a();
c();
* 선언에 대한 지도로 확인해보면 a는 b로 접근 불가
* Lexical scope : 함수를 어디서 선언하였는지에 따라 상위 스코프를 결정하는 것이다.
중요한 점은 함수의 호출이 아니라 함수의 선언에 따라 결정된다
(참고 : https://velog.io/@ksh4820/Lexical-scoped%EC%99%80-%ED%81%B4%EB%A1%9C%EC%A0%80)
Lexical scope 예시
var num = 1;
function a() {
var num = 10;
b();
}
function b() {
console.log(num);
}
a(); //1
b(); //1