JavaScript에서 조건을 처리하고 싶을 때 우리가 쓸 수 있는 방법은 두개
1. If문
2. 물음표 연산자 ?
형태 :
if (조건) {
조건이 참일 때 실행문
}
즉, boolean형으로 변환했을 때 false로 처리되는 애들이다
즉, boolean형으로 변환했을 때 true로 처리되는 애들이다
let 변수 = (조건); // ex : (year == 2023)
if (변수) {
...
}
💡 위와 같이 수에 boolean값으로 변환될 수 있는 표현식을 소괄호로 묶어, 변환된 boolean값을 변수에 저장할 수도 있다.
형태 :
if (조건) {
조건이 참일 때 실행 내용
} else {
조건이 거짓일 때 실행 내용
}
형태 :
if (조건) {
조건이 참일 때 실행 내용
} else if (조건2) {
조건이 거짓이고, 조건2가 참일 때 실행 내용
} else if (조건3) {
조건,조건2가 거짓이고, 조건3이 참일 때 실행 내용
} else {
모든 조건이 거짓일 때 실행 내용
}
형태 :
let 변수 = 조건 ? 참일때값 : 거짓일때값;
💡물음표 앞의 조건 표현식은 소괄호를 사용하지 않아도 된다.
물음표 연산자의 우선순위가 낮기 때문에 괄호 없이도 조건표현식 내부가 먼저 계산되고, 그 후 물음표 연산자가 적용되기 때문!
하지만 가독성을 위해 괄호는 생활화하자~
예시 :
let accessAllowed = (age > 18) ? true : false; //-> OK
let accessAllowed = age > 18 ? true : false; //-> OK but 가독성X
형태 :
let 변수 = (조건1) ? '참일때값' :
(조건2) ? '조건1거짓,조건2참일때값' :
(조건3) ? '조건12거짓,조건3참일때값' :
'조건123거짓일때값';
💡조건에 따라 변수에 대입될 값이 아닌 실행할 표현식이 오는 것은 좋지 않다!
-> 이럴 땐 if문 쓰기 (훨~씬 가독성이 좋기 때문!)
예시 :
let company = prompt('자바스크립트는 어떤 회사가 만들었을까요?', '');
(company == 'Netscape') ?
alert('정답입니다!') : alert('오답입니다!'); // alert라는 실행문이 피연산자임