frontend (React) 개발
(React) const, var, let
꼰대코더
2023. 12. 1. 10:44
| keyword | scope | |
| const | 전체 | var 와 같으나 한번 값이 할당되면 바꾸지 못함 |
| var | function 내 | 서브블럭내에서 다시 같은 이름의 변수를 할당하여도 똑같은 변수를 가르킨다. |
| let | 블럭( { } ) 내 | 블럭내에 선언하면 블럭을 빠져나오면 사라짐 |
// case 1
function varScoping() {
var x = 1;
if (true) {
var x = 2;
console.log(x); // will print 2
}
console.log(x); // will print 2
}
// case 2
function letScoping() {
let x = 1;
if (true) {
let x = 2;
console.log(x); // will print 2
}
console.log(x); // will print 1
}
// case 3
function nestedScopeTest() {
if (true) {
var x1 = 1;
let x2 = 2;
console.log(x1); // will print 1
console.log(x2); // will print 2
if (true) {
console.log(x1); // will print 1
console.log(x2); // will print 2
}
}
console.log(x1); // will print 1
console.log(x2); // will throw an error
}