- else if 나 , else는 생략이 가능하다.
- if만 썼을 때에 { } 브레이스부분은 생략이 가능하지만 생략 안하고 쓰는게 좋다.
let age = 10;
if (age === 10 || age >20 ){
console.log('나이는 10세 또는 20세이상');
}else if(age === 20){
console.log('나이는 20세');
}else{
console.log('모르겠습니다.');
}
- if비교구문( )은 반드시 비교하게 되어있다.
단순하게 값자체(age)가 들어갈 경우 ture 혹은 false boolean타입으로 판정하게 되어있다. 타입캐스트 룰에 의해서 0은 false, 나머지 숫자는 true로 판정한다.
let age = 10;
if (age){
console.log('나이는 10세 또는 20세이상');
} // age가 0이 아니기 때문에 true로 판정한다.
- if비교구문( )에 문자열이 들어간다면 true로 판정하고 ' ' 비어있다면 false로 판정한다.
if ('age'){
console.log('나이는 10세 또는 20세이상');
} // true
<br>
if (''){
console.log('나이는 10세 또는 20세이상');
} // false
- null, undefined는 false로 판단하고, 모든 객체 { } 는 true로 판단한다.
객체의 값, 속성이 비어있던 무조건 true.
if (null) {
console.log('나이는 10세 또는 20세이상');
} // false
<br>
if (undefined) {
console.log('나이는 10세 또는 20세이상');
} // false
<br>
if ({}) {
console.log('나이는 10세 또는 20세이상');
} // true
- case는 값을 평가해서 일치되는 케이스까지 이동한 다음에 그밑의 코드를 실행한다.
- case문에 break를 넣어주지 않으면 일치되는 케이스의 코드를 실행하고도 끝까지 실행된다. 즉, 각 case에 break를 넣어줘야한다.
let age = 2;
<br>
switch(age) {
case 1:
console.log(1);
break;
case 2:
console.log(2);
break;
case 3:
console.log(3);
break;
default:
console.log('??');
break;
}