조건문

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; 
}