ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 조건식 ? x : y
    프로그램/JavaScript 2007. 11. 12. 17:10
    삼항 조건 연산자

    Javascript는 또한 함축적인 조건 형식 ?... : ... 삼항 조건 연산자을 지원한다.
    조건 앞에 if라는 단어를 사용하지 않고 테스트할 조건 뒤에 물음표를 사용한다.
    여기에서는 두 가지 대안을 지정하는데, 하나는 조건이 만족될 경우에 사용될 대안이고
    다른 하나는 조건이 만족되지 못할 경우에 사용될 대안이다. 두 대안은 콜론으로 구분되어야 한다.

    지금은 오후
    <SCRIPT>
    var hour=new Date().getHours();;
    document.write('지금은 ',hour<=12 ? '오전':'오후');
    </SCRIPT>
    

    하나의 조건이 다른 것들보다 실패하거나 성공할 확률이 높은 상태에서 한꺼번에 여러 개의 조건을 테스트해야 할 경우 '순환 단축 계산'이라는 기능함수를 이용하면 스크립트의 실행을 빠르게 할 수 있다.

    Javascript는 논리식을 계산할 때 필요한 만큼만 하위 식을 계산하여 결과를 산출할 수 있다.

    예를 들어 ((x==777)&&(y==38)) 같은 AND(&&) 연산식을 사용하면 Javascript는 먼저 x가 777인지 검사하다.
    만약 x가 777이 아니면 y가 38이더라도 전체 식은 true가 될 수 없다.
    그러므로 y에 대한 테스트는 수행되지 않으며 Javascript는 false 값을 반환하다.

    이와 유사하게 몇 개의 조건 중 하나만이 true일 경우(OR || 연산자 사용), 하나의 조건이 테스트에 통과되자마자 테스트가 중지된다.
    이 기능함수는 테스트할 조건이 기능함수 호출 또는 다른 복잡한 식을 수반할 경우 유용하다.
    OR(||) 식을 작성할 때 이를 염두에 두고 true가 될 가능성이 높은 조건을 앞에다 놓고
    AND(&&) 식을 작성할 때는 false가 될 가능성이 높은 조건을 앞에다 놓으면 연산시간을 단축할 수 있다.

    이런 식으로 스크립트를 만들 때의 기능함수를 수행하기 전에 유효 변수를 점검하는 코드를 넣는 경우가 많다.

Designed by Tistory.