조건문
ActionScript 3.0에서는 프로그램 흐름을 제어하는 데 사용할 수 있는 세 가지 기본 조건문을 제공합니다.
if..else
if..else 조건문을 사용하면 조건을 테스트한 다음 해당 조건이 존재하면 코드 블록을 실행하고 해당 조건이 존재하지 않으면 다른 코드 블록을 실행할 수 있습니다. 예를 들어 다음 코드에서는 x 값이 20을 초과하는지 테스트한 다음 20을 초과하면 trace() 함수를 호출하고 20을 초과하지 않으면 다른 trace() 함수를 호출합니다.
if (x > 20)
{
trace("x is > 20");
}
else
{
trace("x is <= 20");
}
다른 코드 블록을 실행하지 않으려면 else 문 없이 if 문을 사용할 수 있습니다.
if..else if
if..else if 조건문을 사용하여 둘 이상의 조건을 테스트할 수 있습니다. 다음 코드는 x 값이 20을 초과하는지 여부를 테스트할 뿐 아니라 x 값이 음수인지 여부도 테스트합니다.
if (x > 20)
{
trace("x is > 20");
}
else if (x < 0)
{
trace("x is negative");
}
if 또는 else 문 다음에 단 하나의 명령문이 오는 경우 명령문을 중괄호로 묶지 않아도 됩니다. 예를 들어 다음 코드에서는 중괄호를 사용하지 않습니다.
if (x > 0)
trace("x is positive");
else if (x < 0)
trace("x is negative");
else
trace("x is 0");
그러나 명령문이 나중에 중괄호가 없는 조건문에 추가될 경우 예기치 못한 비헤이비어가 발생할 수 있으므로 항상 중괄호를 사용하는 것이 좋습니다. 예를 들어 다음 코드에서는 조건이 true로 평가되는지에 관계없이 positiveNums의 값은 1씩 증가합니다.
var x:int;
var positiveNums:int = 0;
if (x > 0)
trace("x is positive");
positiveNums++;
trace(positiveNums); // 1
switch
switch 문은 동일한 조건 표현식에 따라 실행 경로가 여러 가지로 달라지는 경우에 유용합니다. 일련의 if..else if 문과 유사한 기능을 제공하지만 보다 쉽게 읽을 수 있습니다. switch 문은 조건의 부울 값을 테스트하는 대신 표현식을 평가하고 그 결과를 사용하여 실행할 코드 블록을 결정합니다. 코드 블록은 case 문으로 시작하고 break 문으로 끝납니다. 예를 들어 다음 switch 문은 Date.getDay() 메서드에서 반환된 일수에 따라 요일을 표시합니다.
var someDate:Date = new Date();
var dayNum:uint = someDate.getDay();
switch(dayNum)
{
case 0:
trace("Sunday");
break;
case 1:
trace("Monday");
break;
case 2:
trace("Tuesday");
break;
case 3:
trace("Wednesday");
break;
case 4:
trace("Thursday");
break;
case 5:
trace("Friday");
break;
case 6:
trace("Saturday");
break;
default:
trace("Out of range");
break;
}