조건부(삼항) 연산자(?:)
업데이트: 2007년 11월
조건에 따라 두 식 중 하나를 반환합니다.
test ? expression1 : expression2
인수
test
임의의 Boolean 식입니다.expression1
test가 true이면 반환되는 식입니다. 쉼표 식이 될 수 있습니다.expression2
test가 false이면 반환되는 식입니다. 쉼표 식이 될 수 있습니다.
설명
?: 연산자는 if...else 문의 단축형으로 사용할 수 있으며 일반적으로 if...else 문을 사용하면 너무 복잡해지는 식에서 사용합니다. 예를 들면 다음과 같습니다.
var now = new Date();
var greeting = "Good" + ((now.getHours() > 17) ? " evening." : " day.");
현재 시각이 오후 6시 이후이면 이 예제는 "Good evening."이라는 문자열을 만듭니다. if...else 문을 사용하여 동일한 기능을 가진 코드를 작성하면 다음과 같습니다.
var now = new Date();
var greeting = "Good";
if (now.getHours() > 17)
greeting += " evening.";
else
greeting += " day.";