Руководство по actionscript. часть 2, стр. 018
Типы данных и операторы
Операнды большинства операторов являются типизированными. В строгом режиме, если значение, используемое в качестве операнда, не соответствует типу данных данного операнда, компилятор сгенерирует ошибку на этапе компиляции и прекратит компиляцию кода. В стандартном режиме код будет скомпилирован и на этапе выполнения программы. Если тип операнда является примитивным, среда выполнения Flash преобразует значение к типу данных этого операнда (в соответствии с правилами, описанными в разд. «Преобразование в примитивные типы» гл. 8). Если тип операнда не является примитивным, то среда Flash сгенерирует ошибку на этапе выполнения.
Например, при компиляции программы в строгом режиме следующий код вызовет ошибку несоответствия типов, поскольку типом данных операндов оператора
деления (/) является Number, а значение «50″ не принадлежит типу данных Number:
«50″ / 10
При компиляции программы в стандартном режиме предыдущий код не вызовет ошибку на этапе компиляции. Вместо этого на этапе выполнения программы среда Flash преобразует значение «50м типа String к типу данных Number, получив в результате значение 50, и указанное выражение вернет значение 5.
Чтобы при компиляции предыдущего кода в строгом режиме не возникала ошибка, мы должны привести значение типа String к требуемому типу данных, как показано в следующем примере:
Number(«50″) / 10
Операнды некоторых операторов являются нетипизированными, что позволяет определять результат операции на этапе выполнения программы в зависимости от типов данных указанных значений. Оператор +, например, выполняет операцию сложения, если указаны два числовых операнда. Однако если одним из операндов является строка, то будет выполнена операция конкатенации.
Типы данных операндов всех операторов описаны в справочнике по языку ActionScript корпорации Adobe.
Обзор операторов
В табл. 10.2 перечислены операторы языка ActionScript с указанием значения приоритета, кратким описанием и типовым примером использования. Операторы с самым высоким приоритетом (находятся вверху таблицы) выполняются первыми. Операторы с одинаковым приоритетом выполняются в том порядке, в котором они следуют в выражении, обычно слева направо, кроме тех случаев, когда операторы обладают правой ассоциативностью (то есть выполняются справа налево).
Стоит отметить, что книга не содержит исчерпывающей информации об операторах языка ActionScript, за исключением операторов, описанных в спецификации Е4Х. Дополнительную информацию о каждом конкретном операторе можно найти в справочнике по языку ActionScript корпорации Adobe. Побитовые операторы описаны в статье « Using Bitwise Operators in ActionScript», находящейся по адресу http://www. moock. org/asdg/technotes/bitwise.