根据我对ActionScript的理解,有两种类型的转换:
var bar0:Bar = someObj as Bar; // "as" casting
var bar1:Bar = Bar(someObj); // "class name" casting (for want of a better name)
Run Code Online (Sandbox Code Playgroud)
另外,请纠正我,如果我在这里错了,ascast会返回一个类的实例,或者null"class name"cast会返回一个类的实例,或者如果演员不可能会引发异常 - 除了这,他们是相同的.
但是,鉴于此,as施法似乎是对早期失败 - 快速 - 失败 - 早期原则的大规模违反......而且我很难想象一种情况,即使用强制转换as而不是使用类名转换(可能会instanceof抛出那里.
所以,我的问题是:在什么情况下使用as铸造会更好?