В чем разница между String (значением) и значением как String? - PullRequest
5 голосов
/ 06 ноября 2008

Просто чтобы прояснить это - в чем разница между:

String(value)

и

value as String

В каких случаях вы бы использовали один поверх другого? Они кажутся взаимозаменяемыми ...

Ответы [ 2 ]

9 голосов
/ 06 ноября 2008

Приведение с типом (переменная) может вызвать исключение времени выполнения (RTE), в то время как «переменная как тип» будет возвращать ноль вместо выдачи исключения.

Подробнее см. http://raghuonflex.wordpress.com/2007/07/27/casting-vs-the-as-operator/.

1 голос
/ 06 ноября 2008

String (значение) создает новый объект String из строкового литерала. Если аргумент конструктора не является строковым литералом, я предполагаю, что он вызывает метод .toString () объекта аргумента.

значение в виде String будет просто возвращать значение, если значение IF является String или подклассом String. Он будет возвращать ноль, если значение не относится к типу String.

Важно отметить, что String (val) создает новый объект, тогда как значение String просто ссылается на значение (и проверяет совместимость со String).

http://livedocs.adobe.com/flash/9.0/ActionScriptLangRefV3/String.html

http://livedocs.adobe.com/flash/9.0/ActionScriptLangRefV3/operators.html#as

...