Чтобы прояснить это - в чем разница между:
String(value)
и
value as String
В каких случаях вы бы использовали одно вместо другого? Они кажутся взаимозаменяемыми ...





Приведение с типом (переменной) может вызвать исключительную ситуацию во время выполнения (RTE), в то время как «переменная как тип» вернет значение null вместо создания исключения.
См. http://raghuonflex.wordpress.com/2007/07/27/casting-vs-the-as-operator/ для получения дополнительных объяснений.
String (value) создает новый объект String из строкового литерала. Если аргумент конструктора не является строковым литералом, я предполагаю, что он вызывает метод объекта аргумента .toString ().
value as String просто вернет значение, если value является String или подклассом String. Он вернет значение null, если значение не относится к типу String.
Важно отметить, что String (val) создает новый объект, тогда как value as String просто ссылается на значение (и проверяет совместимость со String).
http://livedocs.adobe.com/flash/9.0/ActionScriptLangRefV3/String.html
http://livedocs.adobe.com/flash/9.0/ActionScriptLangRefV3/operators.html#as
Неверно, что синтаксис
Type(variable)обязательно создает новый объект. Это не то же самое, что конструктор (хотя похоже). Фактически он возвращает ссылку на тот же объект, еслиvariableсовместим сType(пока не появляется toString).