선언, 할당
// 선언
var 나이;
var 이름;
// 할당
나이 = 20;
이름 = 'kim';
범위
function 함수() {
var 나이 = 20;
console.log(나이); // 가능
}
console.log(나이); // 불가능
변수는 사용 가능한 범위가 있습니다.
함수 안에서 변수를 만들었을 경우 함수 안에서만 사용 가능합니다.
반대로 함수 바깥에서 만들어진 변수는 함수 안에서 사용이 가능합니다.
var 이름 = '한승열';
let 거주지 = 'seoul';
const 가격 = 3000;
var 대신 let, const 로 변수생성과 할당이 가능하다.
let 거주지 = 'seoul';
let 거주지; // 에러
let, const 는 재선언이 불가능하다.
cosnt 가격 = 3000;
가격 = 4000; // 에러
const 는 재할당도 불가능하다.
범위
if(true) {
let 이름 = 'kim';
}
console.log(이름); // 없다고 에러
let 과 const 는 범위가 더 좁다. 모든 중괄호가 범위이다.
| var | Function-scoped | 재선언 o | 재할당 o |
|---|---|---|---|
| let | { Block-scoped } | 재선언 x | 재할당 x |
| const | { Block-scoped } | 재선언 x | 재할당 x |