조건부 삼항 연산자는 JavaScript에서 세 개의 피연산자를 취할 수 있는 유일한 연산자입니다. 맨 앞에 조건문 들어가고. 그 뒤로 물음표(?)와 조건이 참truthy이라면 실행할 식이 물음표 뒤로 들어갑니다. 바로 뒤로 콜론(:)이 들어가며 조건이 거짓falsy이라면 실행할 식이 마지막에 들어갑니다. 보통 if 명령문의 단축 형태로 쓰입니다.
- MDN -
condition
을 평가하여 truthy 값이라면 value1
, 그렇지 않으면 value2
가 반환된다.표현식
으로 그 자체로서 값을 나타낸다.template literal
은 $ {expression}
로 표현식을 그 안에 담을 수 있다. 그러므로 표현식인 삼항 조건 연산자과 조합해서 사용이 가능하다.let result = condition ? value1 : value2;
// ex)1
let age = 19
let accesssAllowed = (age > 18) ? 'allowed' : 'not allowed'
// 'allowed' 리턴
// ex)2
const age = 19
const hasDriverLicense = `I have ${(age > 18) ? 'a' : 'no' } driver license`
// 'I have a driver license'
"string"
true || false
1 + 2 + 3
const one = 1;
if (true) { // do something }
function sample() { // do something }
let age = prompt('나이를 입력해주세요.', 18);
let message = (age < 3) ? '아기야 안녕?' :
(age < 18) ? '안녕!' :
(age < 100) ? '환영합니다!' :
'나이가 아주 많으시거나, 나이가 아닌 값을 입력 하셨군요!';
alert( message );
if (age < 3) {
message = '아기야 안녕?';
} else if (age < 18) {
message = '안녕!';
} else if (age < 100) {
message = '환영합니다!';
} else {
message = '나이가 아주 많으시거나, 나이가 아닌 값을 입력 하셨군요!';
}
https://mindock.github.io/knowledge/expression-statement/
https://ko.javascript.info/ifelse
https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Operators/Conditional_Operator