En this article, dice que ActionScript 3.0 cumple con la 4ª edición de ECMA. Pero en lugar de parecerse a JavaScript y no tener clase o extender, el código de ActionScript 3.0 se parece a Java y tiene la declaración class
e incluso tiene extend
?Si ActionScript está basado en ECMAScript, ¿por qué tiene clases y se ve casi igual que Java?
Respuesta
Actionscript 3 se diseñó mientras la especificación ECMA 4 todavía estaba en desarrollo. Es divergente; se ajusta a ECMA 4 pero va más allá.
Actionscript cumplió con ECMA desde el principio.
Puede imaginar javascript & actionscript como un tenedor de un solo estándar, es decir, ECMA, con Javascript inclinado para agregar potencia a los navegadores, mientras que Actionscript se enfoca en el desarrollo de flash.
Parece justo ya que todas las empresas a la vez estaban en un intento de crear una versión propia. Por ejemplo, considere el Microsoft's version de ECMA.
También puede considerar desde el enlace que compartió que:
En respuesta a la demanda de los usuarios de un lenguaje mejor equipado para aplicaciones más grandes y más complejas, ActionScript 2.0 contó con tiempo de compilación comprobación de tipos y se extiende la sintaxis basada en clases, como la clase de palabras clave y .
Por lo tanto, podría ver que la mayoría de los cambios fueron realmente impulsados por el usuario, en lugar de ser una similitud accidental.
En general, para cumplir con las normas no significa que solo las funciones definidas por el estándar deben estar disponibles. Puede implementar un estándar para cumplir, pero también puede implementar funcionalidades adicionales.
Puede tratar ECMA Script como un tipo de subconjunto que define la estructura básica del lenguaje, la sintaxis y la semántica. Entonces ECMA es solo un subconjunto de ActionScript. El lenguaje agrega una amplia gama de características a este subconjunto.
Otro ejemplo podría ser MySQL. Implementa el estándar SQL pero proporciona mucha más funcionalidad que el estándar.
Porque el borrador de ECMAScript 4th Edition en el que se basa ActionScript 3 tenía class
y extends
y más.
http://en.wikipedia.org/wiki/ECMAScript#ECMAScript.2C_4th_Edition
http://www.ecma-international.org/activities/Languages/Language%20overview.pdf
Más tarde, el proyecto de edición cuarto fue reemplazado por ECMAScript Armonía:
http://en.wikipedia.org/wiki/ECMAScript#History_2
Algunos dicen que la razón de esto era business politics, pero que tendrían para formar su propia opinión informada sobre eso.
- 1. ¿Por qué (casi) todos los juegos en línea escritos en ActionScript (Flash) no son Java?
- 2. PYtest: valer casi igual
- 3. ¿Por qué ActionScript no tiene "genéricos"?
- 4. ¿Por qué Java no ve que los enteros son iguales?
- 5. ¿Qué se ve y se siente (swing java)?
- 6. ¿Por qué no está representado igual por ~ = en Matlab?
- 7. Actionscript: ¿Por qué es posible asignar una variable antes de que se declare?
- 8. ¿Por qué RewriteRule? funciona igual que^(. *) $?
- 9. ASP.NET: ¿Qué se ve afectado exactamente cuando JavaScript está desactivado?
- 10. Serialización de clases de java inmutables en actionscript con LCDS
- 11. ¿Qué aspecto tiene Java en la memoria?
- 12. ¿Por qué/cómo está todo $() basado en jQuery?
- 13. ¿Por qué esta imagen se ve tan mal después de ser reducida en Java?
- 14. ¿Por qué se necesitan "clases anotadas" si hay @Entidad?
- 15. ¿Para qué propiedad interna se define ECMAScript?
- 16. por qué está basado SAML en el navegador
- 17. centro text-align que se ve afectado por elementos flotantes
- 18. ¿Por qué java tiene los archivos cacerts y jssecacerts?
- 19. ¿Por qué esta línea de cierre de Google se ve como se ve?
- 20. ¿Qué es ECMAScript?
- 21. ¿Qué es ECMAScript Editon 5.1 y para qué sirve?
- 22. ¿Por qué las clases abstractas en Java tienen constructores?
- 23. Comprueba si el elemento tiene dos clases
- 24. ¿Por qué Java Beans tiene que ser serializable?
- 25. ¿Qué se entiende por clases en sí mismas son objetos?
- 26. ¿Por qué jQuery UI no ve jQuery?
- 27. ¿Por qué un objeto complementario de Scala se compila en dos clases (compiladores Java y .NET)?
- 28. Error al utilizar Double type en Java ... esto tiene que ser tan simple, estoy casi avergonzado lo estoy preguntando aquí
- 29. ¿por qué jvm tiene muchos clasloaders? ¿por qué no uno?
- 30. ¿Por qué el operador 'igual' en LINQ se une?