String(value)和String之间的区别是什么?

时间:2008-11-06 03:23:26

标签: flex flash actionscript-3

只是为了说清楚 - 有什么区别:

String(value)

value as String

您可以使用哪一种而不是另一种情况?它们似乎可以互换......

2 个答案:

答案 0 :(得分:9)

使用Type(变量)进行强制转换可能会导致运行时异常(RATE),而“变量类型”将返回null而不是抛出异常。

请参阅http://raghuonflex.wordpress.com/2007/07/27/casting-vs-the-as-operator/或更多解释。

答案 1 :(得分:1)

String(value)从字符串文字创建一个新的String对象。如果构造函数参数不是字符串文字,我假设它调用参数对象的.toString()方法。

value as String将简单地传回值IF值是String或String的子类。如果value不是String类型,它将传回null。

需要注意的重要一点是String(val)创建一个新对象,而value as String只是指value(并测试与String的兼容性)。

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

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