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
반응형
'Front > JS & jQuery' 카테고리의 다른 글
[js] Quill Editor 높이 설정 (0) | 2024.11.06 |
---|---|
[jQuery] jQuery로 <textarea>를 제거하고 그 자리에 <div>동적으로 삽입 (0) | 2024.10.30 |
[jQuery][Datatables] scrollCollapse (0) | 2024.09.13 |
[jQuery][Datatables] datatables 의 모든 데이터 가져오기 (0) | 2024.09.10 |
[CSS] 상위요소 너비 이상이면 스크롤 생성 (0) | 2024.09.08 |