Руководство по actionscript. часть 1, стр. 134
Теперь рассмотрим следующий код, в котором определяется переменная b типа Boolean и этой переменной присваивается целочисленное значение 5:
var b:Boolean = 5;
Даже несмотря на то, что значение 5 не принадлежит типу данных Boolean, компилятор не генерирует ошибку несоответствия типов. Вместо этого он делает предположение, что программист желает привести значение 5 к типу данных Boolean (в соответствии с правилами, описанными в разд. «Преобразование в примитивные типы») и генерирует соответствующее предупреждение. Такая «мягкость» компилятора позволяет сократить количество кода в программе. Например, предположим, что в качестве типа возвращаемого значения метода getHunger ( ) класса VirtualPet указан тип данных Number. Программа может создать переменную, содержащую информацию о том, является животное живым или мертвым, используя следующий код:
var isAlive:Boolean = somePet. getHunger( );
В соответствии с правилами, описанными в разд. «Преобразование в примитивные типы», число 0 преобразуется в значение false, а остальные числа — в значение true. Таким образом, если метод getHunger ( ) возвращает любое значение, отличное от 0, переменной is Alive присваивается значение true; в противном случае переменной is Alive присваивается значение false (животное оказывается мертвым, когда у него не остается калорий).
Для сравнения приведем альтернативный, чуть более длинный код, который пришлось бы использовать в том случае, если бы компилятор проверял типы для переменных типа Boolean (не позволяя преобразовывать их на этапе выполнения программы):
var isAlive:Boolean = somePet. getHunger( ) > 0;
Наконец, рассмотрим код, в котором определяется переменная xCoordinate типа int и этой переменной присваивается значение 4, 6459 типа Number:
var xCoordinate:int = 4.6459;
Даже несмотря на то, что значение 4, 64 5 9 не принадлежит типу данных int, компилятор не генерирует ошибку несоответствия типов. Вместо этого он делает предположение, что вы желаете преобразовать значение 4, б 4 5 9 к типу данных int (в соответствии с правилами, описанными в разд. «Преобразование в примитивные типы»). Это позволяет максимально упростить взаимодействие между числовыми типами данных языка ActionScript.