728x90
if문과 switch문은 뭐가 다를까?
if문으로 switch문을 대체할 수 있다.
(나는 아직... if문이 더 쉬운 것 같다.)
let myChoice = 2;
switch(myChoice) {
case 1:
console.log('토끼를 선택한 당신, ...');
break;
case 2:
console.log('고양이를 선택한 당신, ...');
break;
case 3:
console.log('코알라를 선택한 당신, ...');
break;
case 4:
console.log('강아지를 선택한 당신, ...');
break;
default:
console.log('1에서 4사이의 숫자를 선택해 주세요.');
}
if (myChoice === 1) {
console.log('토끼를 선택한 당신, ...');
} else if (myChoice === 2) {
console.log('고양이를 선택한 당신, ...');
} else if (myChoice === 3) {
console.log('코알라를 선택한 당신, ...');
} else if (myChoice === 4) {
console.log('강아지를 선택한 당신, ...');
} else {
console.log('1에서 4사이의 숫자를 선택해 주세요.');
}
switch문을 if문으로 작성할 때 주의할 점은 '===' 등호를 세 개 써야한다.
switch문은 암시적 형변환을 허용하지 않기 때문이다.
javascript에서 '==='와 '=='는 어떻게 다른가😉
1) == : 연산자를 이용하여 서로 다른 유형의 두 변수 비교(유형변환 비교)
2) === : 두 변수의 값&자료형 비교 (엄격한비교)
만약 위 코드에서 myChoice = '2';
라고 문자형으로 선언하면 예상가능하듯이
defalut문 : 1에서 4사이의 숫자를 선택해주세요.
else문: 1에서 4사이의 숫자를 선택해주세요.
가 나온다.
여기서 추가로, if문의 등호를 '==' 이렇게 바꾸면
defalut문 : 1에서 4사이의 숫자를 선택해주세요.
myChoice = '2' ==2: 고양이를 선택한 당신...
이렇게 나온다.
그렇기 때문에 switch문은 값들을 비교할 때 자료형을 엄격하게 구분한다는 점과
switch문을 if문으로 대체할 때는 반드시 '==='를 사용해서 엄격한 비교가 이루어지게 해야한다
728x90
'IT 정보 > 코딩' 카테고리의 다른 글
[mySQL] sql문 alias 붙이기 (0) | 2023.03.21 |
---|---|
[SQL] 실행순서 (0) | 2023.03.12 |
[SQL] 문자열 관련 함수(length, upper, lower 등) (0) | 2023.03.12 |
[sql] 엔터티 식별자(Entity Identifier) (0) | 2023.03.05 |
[sql] 데이터 정규화와 반정규화(2) - 반정규화 (0) | 2023.03.05 |