Por lo que entiendo de ActionScript, hay dos tipos de moldes:ActionScript: ¿Hay alguna vez una buena razón para usar 'como' casting?
var bar0:Bar = someObj as Bar; // "as" casting
var bar1:Bar = Bar(someObj); // "class name" casting (for want of a better name)
También, y por favor, corríjanme si me equivoco aquí, as
de fundición o bien devolver una instancia de la clase o null
, mientras El casting de "nombre de clase" devolverá una instancia de la clase o generará una excepción si el reparto es imposible; además de esto, son idénticos.
Teniendo en cuenta esto, as
fundición parece ser una violación masiva del principio fail-fast-fail-early ... Y estoy teniendo problemas para imaginar una situación en la que sería preferible usar un molde as
en lugar que un molde de nombre de clase (con, posiblemente, un instanceof
arrojado allí).
Entonces, mi pregunta es: ¿bajo qué circunstancias sería preferible usar as
de fundición?
nota de que el enlace en tiempo, en general, que a menudo es útil, está en conflicto directo con su interpretación de fffe. – dkretz
Es cierto, también es inevitable en ActionScript, ya que no existe la noción de "genéricos", por lo que las cosas que obtienes de los contenedores estarán sin tipo. –
(por lo que es preferible fallar en 'var foo: Foo = Foo (myArray [i])' en lugar de obtener un nulo y tratar con un NPX en otro lugar) –