[AS 2.0] 단독 조건 연산자 (if문을간단하게)

ActionScript 2.0 — Tags: , — Siaa @ 1:32 pm

간단한 조건문일 경우 단독 조건 연산자를…
(조건) ? 참일 경우 : 거짓일 경우;

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")) {}
Share

0 Comments »

No comments yet.

RSS feed for comments on this post. TrackBack URI

Leave a comment

This work is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License.
(c) 2012 blog.flasia.com | powered by WordPress with Barecity