728x90
반응형
반응형
스코프
유효범위를 뜻한다. 자바스크립트에서는 함수 스코프와 블록 스코프 개념이 존재한다.
자바스크립트에서 함수를 선언하면 새로운 스코프를 생성한다.
이를 함수 스코프라고 하며, 함수 안에서 선언한 변수는 함수 안에서만 접근 가능하다.
블록 스코프는 함수, if문, for문, while문, try/catch문이 생성한 스코프를 뜻한다.
마찬가지로, 블록 안에서 선언한 변수는 블록 안에서만 접근 가능하다.
● var는 함수 스코프를 벗어날 수 없다.
function sum(a, b) {
var result = a + b;
}
sum(1,2);
console.log(result);
함수 내에서 result를 var로 선언했기 때문에 함수 밖에서 result를 출력하면 오류가 발생한다.
● let, const는 블록 스코프를 벗어날 수 없다.
for(let i = 0; i < 3; i++) {
console.log('안녕하세요');
}
console.log(i);
블록 내에서 i를 let으로 선언했기 때문에 for문은 정상 출력되지만, 블록 밖에서 i를 출력하면 오류가 발생한다.
728x90
반응형