Использование оператора as для приведения 

к типам Date и Array ActionScript 

 

 

По многим причинам, связанным с поддержкой старого кода в языке ActionScript 3.0, 

синтаксис приведения типов, описанный в предыдущих разделах, не может быть 

использован для приведения типа значения к внутренним классам Date и Array. 

Результат выражения Date (некотороеЗначение) идентичен результату выражения 

new Date ( ) . toString( ) (оно возвращает строковое представление текущего 

времени). Результат выражения Array (некотороеЗначение) идентичен результату 

выражения new Array (некотороеЗначение) (оно создает новый объект Array,  

первым элементом которого является значение некотороеЗначение). 

Для приведения типа результата выражения либо к классу Date, либо к классу 

Array используется оператор as, который действует точно так же, как операция 

приведения типов, но с одним исключением — данный оператор возвращает  

значение null в тех случаях, когда операция приведения типов вызывает ошибку на 

этапе выполнения. Оператор as имеет следующий вид: 

выражение as тип 

В приведенном коде выражение представляет любое выражение, а тип — любой класс 

или интерфейс (тип не должен принимать значения undefined или null).  

Оператор as возвращает значение выражения выражение, если указанное выражение  

принадлежит указанному типу тип, в противном случае возвращается значение null. 

Например, в следующем коде результат выражения (meal as Apple) идентичен 

результату операции приведения типов Apple (meal): 

var meal:Food = new Applet ); 

(meal as Apple).hasWorm( ); 

В следующем коде оператор as используется для «приведения» объекта Array 

к типу данных Array с тем, чтобы данный объект можно было присвоить  

переменной типа Array. 

public function output (msg:Object):void { 

if (msg is String) { 

trace(msg); 

if (msg is Array) { 

var arr:Array = msg as Array; // Приведение к типу Array 

trace(arr.join("\\n")): 

 

Следующий код демонстрирует результат передачи тестового объекта Array в  

метод output ( ): 

var numbers:Array = [1,2,3] 

output(numbers); 

// Вывод: 




BACK NEXT

Сайт является частным собранием материалов и представляет собой любительский информационно-образовательный ресурс. Вся информация получена из открытых источников. Администрация не претендует на авторство использованных материалов. Все права принадлежат их правообладателям