조건에 따라 두 문장 중 하나를 실행한다.

 testCondition?statement1:statement2
인수
testCondition (검정문)
임의의 부울식이다. testCondition 조건에 맞으면 true를 틀리면 false를 반환한다.
statement1 (수행문1)
검정문true이면 실행되는 Javascript 코드이다. 복합문일 수도 있다.
statement2 (수행문2)
검정문false이면 실행되는 Javascript 코드이다. 복합문일 수도 있다.
설명

?... :... 연산자는 if...else... 문장의 단축문장으로, 일반적으로 사용하는 긴 if...else... 문장을 간단하게 하기 위하여 사용한다.

쉽게 말하면 검정문이 맞으면 수행문1을 수행하고 틀리면 수행문2를 수행한다.
따라서 조건에 관련된 변수값에 따라서 결과가 다르게 나오게 되는 경우에 주로 사용된다.

구문 예제
이는 if...else... 문장으로 다음과 같다.
<SCRIPT>
document.write('지금은 ');
if (new Date().getHours()<12) document.write('오전');
else document.write('오후');
document.write('이다.');
</SCRIPT>
?... :... 삼항식으로는 아주 간단하다.
<SCRIPT>
document.write('지금은 ',new Date().getHours()<12 ? '오전' : '오후','이다.' );
</SCRIPT>


간단한 삼항식(?... :... 연산자) 예제

<SCRIPT>
morning='좋은 아침입니다. 상쾌한 하루 되세요.';
evening='오늘도 즐거우셨습니까. 즐거운 저녁되세요.';
br='<BR>';
var now=new Date(); // 현재시각 가져옴
if (now.getHours()>12) document.write('1: '+evening+br) // if... else... 문을 이용한 메시지 출력
else document.write('1: '+morning+br);

((now.getHours()>12) ? document.write('2: '+evening+br) : document.write('2: '+morning+br));
  // 같은 내용을 조건검정하는 삼항 연산자로 메시지 출력

document.write('3: ',now.getHours()>12?evening : morning,br); // 같은 내용을 조건검정하는 삼항 연산자로 메시지 출력
</SCRIPT>

복합 삼항 연산 예제

<SCRIPT>
br='<BR>';
var now=new Date(); // 현재시각 가져옴
wkday=now.getDay(); // 현재시각에서 요일을 가져옴
yoil=((wkday==0) ? '일' : // 요일이 0이면 일요일, 아니면 다음 조건문으로
  ((wkday==1) ? '화' : // 요일이 1이면 월요일, 아니면 다음 조건문으로
    ((wkday==2) ? '화' : // 요일이 2이면 화요일, 아니면 다음 조건문으로
      ((wkday==3) ? '수' : // 요일이 3이면 수요일, 아니면 다음 조건문으로
        ((wkday==4) ? '목' : // 요일이 4이면 목요일, 아니면 다음 조건문으로
          (wkday==5) ? '금' : '토'; // 요일이 5이면 금요일, 아니면 토요일
        )
      )
    )
  )
)
document.write('오늘은 '+yoil+'요일'+br);

// 위는 삼항식의 설명을 위한 것이고 같은 내용을 간단히하면...
myArray='일월화수목금토';
yoil=myArray.substr(wkday,1); // 배열변수로 간단히 한 것
document.write('오늘은 '+yoil+'요일'+br);
</SCRIPT>