렉시컬 스코프

코드가 적힌 순간 스코프가 정해진다. 이것을 정적 스코프(lexical scope)라고 한다. 함수의 실행순서에 따라 스코프가 바뀌면 동적 스코프라고 한다.

var name = 'zero';
function log() {
    console.log(name);//nero
}
function wrapper() {
    name = 'nero'//전역변수 수정. nero.
    log();
}
wrapper();
var name = 'zero';
function log() {
    console.log(name);//zero
}
function wrapper() {
    var name = 'nero'//전역변수 수정. nero.
    log();//console.log와 혼동주의!
}
wrapper();

비밀변수로 사용할 수 있다.


function wrapper() {
    var password = '비밀번호(제로초바보)'//전역변수 수정. nero.
    log();//console.log와 혼동주의!
}
console.log(password);//변수가 없다고 나옴

Last updated