JavaScript - scope of variables

김두비·2022년 5월 10일

JavaScript입문

목록 보기
5/10

변수의 유효범위 - scope라고 한다
변수가 사용되는 범위, 규칙을 정한다

const, let의 유효범위 - 2개의 키워드를 가진 유효범위는 블록 스코프라고한다
블록이란, {} 안에 선언된 변수는 그대로 공간안에서만 사용 가능하다
밖으로 넘어가면 나머지 값은 알 수 없게 된다

// 블록
{
 //여기가 블록
 const name = 'dubi';
 console.log(name);
}

//밖에서 안으로

//중첩
// 블록
{
 //여기가 블록
 const name = 'dubi';
 console.log(name);
}

//밖에서 사용 시 name의 존재를 알 수 없음
console.log(name);
//중첩
//밖에서 사용 시 함수를 먼저 할당해주면 블록 밖이라도 사용가능
let age = 27;

{
    age++;
    console.log(age);
}

console.log(age);

//중첩

var의 유효범위 - 함수 스코프

var는 ES5까지 사용되었지만 ES6부터는 let, const를 사용해서 코딩을 진행하고있다
함수 스코프보다 블록 스코프가 좀 더 직관적이다

함수

function() {}
함수가 선언되는 영역이 유효범위가 된다

// 블록 - var에서 a를 할당했으므로 블록 안에 a++ 값도 돌 수있다
(function() {
    a++;
    console.log(a);
})();
// 블록

console.log(a);

잘못된 예시

(function();{
    var b = 0;
    console.log(b);
})();

// function 범위를 벗어낫기 때문에 아래 b++; 값은 동작하지 않는다
b++;
console.log(b);
profile
관심과 격려가 필요한 응애 개발자

0개의 댓글