조건 연산자라고도 하며, 세 개의 항을 받아서 삼항연산자라 합니다.
사용법은 간단합니다.
조건 ? 참(truthy) : 거짓(falsy)
조건이 참이면 ? 참 자리에 : 거짓이면 거짓 자리에 넣어주면 됩니다.
알고리즘을 풀면서 가장 유용하게 사용하는 연산자입니다.
코드를 반 이상 줄여주기 때문이죠.
- if else 문
const age = 26; let beverage = (age >= 21) ? "Beer" : "Juice"; console.log(beverage); // "Beer" _(문제 출처: MDN 사이트)_
조건
(age >= 21)
21살 이상이면'beer'
를 21살 미만이면'juice'
를 할당합니다.
- if ... else if ... else if ... else if ... else 구문
function example(…) { return 조건1 ? 참(truthy)1 : 조건2 ? 참(truthy)2 : 조건3 ? 참(truthy)3 : 거짓(falsy); } _(출처: MDN)_
이것만 활용하면 지겹게
else if
를 쓰지 않고:
만 써주면 됩니다.
good
- null 값 처리
let greeting = person => { let name = person ? person.name : `stranger` return `Howdy, ${name}` } console.log(greeting({name: `Alice`})); // "Howdy, Alice" console.log(greeting(null)); // "Howdy, stranger" _(문제 출처: MDN 사이트)_
greeting 함수에 매개변수 person이 올 때, person.name을 출력하고, 만약 person이 아니면(거짓falsy값이면) 'stranger'를 반환하라는 문제
여기서 null은 falsy값이기 때문에 거짓임으로 'stranger'가 반환되는걸 볼 수 있습니다.