조건부 삼항 연산자는 JavaScript에서 세 개의 피연산자를 취할 수 있는 유일한 연산자입니다. 보통 if 명령문의 단축 형태로 쓰입니다.
3항 조건 연산자는 조건과 참일 때 거짓일때의 세가지로 조건문을 간단하게 작성할 때 사용한다.
간단한 조건문일 경우는 삼항 조건 연산자를 사용하지만
조금 복잡해지는 경우는 한줄에 표현하려는 삼항 연산자가 오히려 보기는 어려운 경우가 생기기도 한다.
그래서 복잡한 조건문일 경우는 오히려 if를 사용하는 것이 좋다.
문법은 이러하다.
condition ? exprIfTrue : exprIfFalse
조건은 boolean 값으로 나오게 되니
참인 경우는 ? 물음표 뒤에 적은 대로 결과가 나오게 되고
거짓인 경우는 콜론 뒤의 적은대로 결과가 나오게 된다.
예를 들어 입력한 나이의 값이 18세 이상인지 판단하는
조건문을 만든다고 할때
let age = 25;
let adultAge = (age > 19) ? "성인입니다." : "성인이 아닙니다.";
console.log(adultAge); // "성인입니다."
선언하면서 한줄로 조건문을 사용할 수 있다.
아래와 같이 표현 할 수도 있다.
"요금은 " + (isMember ? "10,000원 입니다." : "15,000원 입니다.")
다중으로도 사용할 수 있다. 조건 연산은 오른쪽에서부터 그룹핑된다.
let firstCheck = false,
secondCheck = false,
access = firstCheck ? "Access denied" : secondCheck ? "Access denied" : "Access granted";
console.log( access ); // logs "Access granted"
조건이 여러개가 있을때도 아래와 같이 사용할 수 있다.
let condition1 = true,
condition2 = false,
access = condition1 ? (condition2 ? "true true": "true false") : (condition2 ? "false true" : "false false");
console.log(access); // logs "true false"
이렇게 간단한 부분에서 사용하는 예들을 살펴보았다.