Front/JS & jQuery
[js] switch 문 안에서 같은 변수명 사용
오선지♬
2024. 11. 7. 20:31
728x90
반응형
switch 문에서 각 case 블록은 동일한 스코프를 공유하므로, 각 case 내에서 같은 변수명을 선언하면 오류가 발생합니다. 해결 방법은 크게 두 가지입니다.
- 변수명 변경: 각 case 블록에서 다른 변수명을 사용합니다.
- switch 문 외부에 변수 선언: 변수를 switch 문 밖에서 선언하고, 각 case 블록에서 값을 할당합니다.
let value = 2;
let number; // switch문 외부에서 변수 선언
switch (value) {
case 1:
number = 10;
break;
case 2:
number = 20;
break;
default:
number = 0;
break;
}
console.log(number); // 20
let이나 const 사용 시 주의 사항
JavaScript에서는 let이나 const로 선언된 변수는 블록 스코프를 가지므로, case 블록을 중괄호 {}로 감싸면 각 case 내부에서 let 또는 const 변수를 사용할 수 있습니다.
let value = 2;
switch (value) {
case 1: {
let number = 10;
console.log(number);
break;
}
case 2: {
let number = 20;
console.log(number);
break;
}
default: {
let number = 0;
console.log(number);
break;
}
}
// 각 case 블록에서 number 변수를 독립적으로 선언할 수 있음
728x90
반응형