Оператор if керує поведінкою компілятора :)

Якщо в тілі умовного оператора є не серьозна помилка, а умова така, що тіло ніколи не виконається, то компілятор нічого не скаже про помилку.

Приклад:

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

Таґи: ,

Коментарів: 7 to “Оператор if керує поведінкою компілятора :)”

  1. Pyrev:

    Шрифт трудновато читается у вас на блоге

  2. Чаадаев:

    Ой, благодарю

  3. Raspopov:

    Красавчег! Пиши исчё!

  4. Малышев:

    А как вы думаете, можно завести у себя на блоге раздел «самые горячие обсуждения» или что-то в этом роде. Там думаю, можно будет обсуждать самые обсуждаемые статьи вашего блога…

  5. Trofimov:

    Было бы интересно узнать поподробнее

  6. Kirill:

    что-то в этом есть, безусловно

  7. Горев:

    Зер гуд ставлю 5 балов.

Залиште свій коментар