Оператор if керує поведінкою компілятора :)
четвер, Січень 17, 2008Якщо в тілі умовного оператора є не серьозна помилка, а умова така, що тіло ніколи не виконається, то компілятор нічого не скаже про помилку.
Приклад:
var t:Number;
if (false){
t = "hello";
}
Якщо Ви змінете false на true, то отримаєте помилку “1067: Implicit coercion of a value of type String to an unrelated type Number.”.
Це стосується тільки ActionScript 3.0, тобто така поведінка має місце в Flash CS3 та Flex Builder 2. В ActionScript 2.0 такої блохи немає.
Також це не стосується умовного оператора ?:.
Оновлення:
Деякі не серьозні помилки можуть призвести до такої-ж поведінки як в попередній блосі.
var t:Number;
if (false){
1 == null;
}
