조건식 ? 참일 떄 실행되는 식 : 거짓일 때 실행되는 식
let value = 5<0 ? '참입니다' : '거짓입니다'
value //거짓입니다
조건부 연산을 if문으로 변경할 수 있음
let condition = true;
let value = condition ? '참' : '거짓';
console.log(value);
//참(조건부 연산자)
if (condition){
value = '참';
} else {
value = '거짓';
}
console.log(value);
//참(if문)
조건부 연산도 중첩 사용가능
let condition1 = true;
let condition2 = false;
let value = condition1 ? condition2 ? '둘 다 참' : 'condition1만 참' : 'condition1이 거짓';
console.log(value);
//condition1만 참
가독성을 높이기 위해 소괄호로 연산자를 감싸주거나
let condition1 = true;
let condition2 = false;
let value = condition1 ? ( condition2 ? '둘 다 참' : 'condition1만 참' ) : 'condition1이 거짓';
console.log(value);
들여쓰기로 구분해도 됨
let condition1 = true;
let condition2 = false;
let value = condition1
? condition2
? '둘 다 참'
:'condition1만 참'
: 'condition1이 거짓';
console.log(value);
첫 번째 조건이 참인 경우 뿐만 아니라 거짓인 경우에도 중첩된 조건부 연산이 들어갈 수 있음
let condition3 = false;
let condition4 = true;
let value = condition3 ? 'condition3이 참' : condition4 ? 'condition4가 참' : '둘 다 거짓';
console.log(value); //condition4가 참
예제
if문을 switch문과 삼항연산자로 바꿔보기
let cond = true;
let value = '';
if (cond) {
value = '참';
} else {
value = '거짓';
}
정답
let cond = true;
let value = '';
switch (cond) {
case value = true :
value = '참';
break;
case value = false :
value = '거짓';
break;
}
let cond = true;
let value = cond ? '참' : '거짓';