-
조건식 ? 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가 될 가능성이 높은 조건을 앞에다 놓으면 연산시간을 단축할 수 있다.이런 식으로 스크립트를 만들 때의 기능함수를 수행하기 전에 유효 변수를 점검하는 코드를 넣는 경우가 많다.
'프로그램 > JavaScript' 카테고리의 다른 글
Javascript 새창 띄우기를 다음과 같이도 한다. (0) 2007.12.03 location.href와 loaction.replace 차이점 (0) 2007.11.29 break 문장과 continue 문장 사용 (0) 2007.11.12 for 문..in (0) 2007.11.12 Javascript HTC에 대해서...스크렙 (0) 2007.11.09 Javascript에서 if 문 내의 continue 문...처음 봐서리... (1) 2007.11.09 Javascript 내장객체 String (0) 2007.11.07 -