Noté que implements es una palabra clave reservada en JavaScript. Sin embargo, no he encontrado ningún uso para esa palabra clave. De hecho, sé que no existe un concepto de interfaz en JavaScript, a diferencia de otros lenguajes de programación como Java, que utiliza la palabra clave implements al implementar una interfaz. Aunque investigué al respecto, no pude encontrar la razón exacta por la cual JavaScript ha reservado esta palabra clave.
Entonces, mi pregunta es: ¿hay algún motivo por el que esta palabra clave esté reservada?
implements es una palabra reservada para el futuro , lo que significa que es una palabra clave, pero actualmente no tiene significado en el idioma.
Las siguientes palabras se utilizan como palabras clave en las extensiones propuestas y, por lo tanto, están reservadas para permitir la posibilidad de adopción futura de esas extensiones.
Los siguientes tokens también se consideran FutureReservedWords cuando ocurren dentro del código de modo estricto (ver 10.1.1 ).
implements let private public yield interface package protected static
Esta lista es diferente en la última especificación del lenguaje ECMAScript ya let , yield y static han recibido un significado formal desde entonces.
La sección de palabra reservada actual:
enum no se utiliza actualmente como palabra clave en esta especificación. Es una palabra futura reservada, reservada para su uso como palabra clave en futuras extensiones de idioma.
De manera similar, implements , interface , package , private , protected y public son palabras reservadas para el futuro en el código de modo estricto .
No veo cómo la palabra clave implements se referiría a otra cosa que no sea herencia, lo que me sugiere que el comité técnico 39 (el organismo formalmente responsable de la especificación ECMAScript) no ha descartado la posibilidad de agregar aislamiento/herencia.
El proceso para agregar una función incluye una fase de entrada. IDL para ECMAScript es un ejemplo de entrada que podría dar forma a esta función.
Este repositorio está destinado a una investigación sobre el uso de un lenguaje de descripción de interfaz (IDL) en el estándar ECMAScript. Actualmente no se encuentra en una etapa en TC39.