[AS 2.0] 단독 조건 연산자 (if문을간단하게)
간단한 조건문일 경우 단독 조건 연산자를…
(조건) ? 참일 경우 : 거짓일 경우;
var myNum:Number = 0;
(myNum > 0) ? trace("myNum > 0") : trace("myNum <= 0");
//Output
//myNum <= 0
조건 연산자 및 대체 구문
단축키를 선호하는 경우 "조건 표현식"이라고도 하는 조건 연산자(?:)를 사용할 수 있습니다. 조건 연산자는 간단한 if..else 문을 한 줄 코드로 변환합니다. 연산자를 사용하면 더 적은 분량의 코드로도 동일한 작업을 수행할 수 있지만 ActionScript를 읽기는 더 어려워집니다.
다음 조건은 긴 코드로 작성되어 numTwo 변수가 0보다 큰지 확인한 다음 numOne/numTwo 결과나 carrot의 문자열을 반환합니다.
var numOne:Number = 8;
var numTwo:Number = 5;
if (numTwo > 0) {
trace(numOne / numTwo); // 1.6
} else {
trace("carrot");
}
조건 표현식을 사용할 경우 다음 형식으로 같은 코드를 작성할 수 있습니다.
var numOne:Number = 8; var numTwo:Number = 0; trace((numTwo > 0) ? numOne/numTwo : "carrot");
이와 같이 짧아진 구문의 경우 가독성이 낮아지므로 권장되는 방법이 아닙니다. 조건 연산자를 사용해야 하는 경우 물음표(?) 앞의 선행 조건을 괄호 안에 넣으십시오. 그러면 ActionScript의 가독성을 높일 수 있습니다. 다음 코드는 가독성이 향상된 ActionScript의 예제입니다.
var numOne:Number; (numOne >= 5) ? numOne : -numOne;
다음 예제에서와 같이 부울 값을 반환하는 조건문을 작성할 수 있습니다.
if (cartArr.length > 0) {
return true;
} else {
return false;
}
앞의 코드와 비교해 볼 때 다음 예제에서와 같이 ActionScript를 사용하는 것이 더 좋습니다.
return (cartArr.length > 0);
두 번째 코드는 보다 짧고 계산할 표현식이 적습니다. 이 코드는 읽고 이해하기가 더 쉽습니다.
복 잡한 조건을 작성하는 경우 괄호[()]를 사용하여 조건을 그룹화하는 것이 좋습니다. 괄호를 사용하지 않으면 제작자 또는 ActionScript를 사용하는 다른 사람이 실행할 때 연산자 우선 순위 오류가 발생할 수 있습니다. 연산자 우선 순위에 대한 자세한 내용은 연산자 우선 순위와 연산 순서를 참조하십시오.
예를 들어, 다음 코드에서는 조건 앞뒤에 괄호를 사용하지 않았습니다.
if (fruit == "apple" && veggie == "leek") {}
다음 코드에서는 조건 앞뒤에 괄호를 추가했습니다.
if ((fruit == "apple") && (veggie == "leek")) {}
