
자바스크립트에서의 스코프란 코드가 실행되는 컨텍스트(유효범위)이며 전역 스코프, 지역 스코프, eval 스코프로 나눌 수 있다.
// 전역 스코프
let foo = 1;
console.log(foo); // 1
function func() {
// foo가 전역에서 선언되었기 때문에 함수 내부에서도 foo값을 사용할 수 있다.
console.log(foo); // 1
}
function func() {
// 지역 스코프
let foo = 1;
console.log(foo); // 1
}
// foo가 func 함수 내부에서 선언되었기 때문에 함수 외부에서 사용을 할 수 없다.
console.log(foo); // Uncaught ReferenceError: foo is not defined
let obj = {
foo: 1
};
console.log(obj.boo); // 1
console.log(boo); // Uncaught ReferenceError: foo is not defined