javascript - una - registronacional iniciar sesion
Taquigrafía del valor literal de la propiedad del objeto incompatible con `esto` (1)
La gramática para esa cláusula de inicialización de propiedad taquigráfica estipula que el único término utilizado debe ser un Identificador . Como this
es una palabra reservada, no es un identificador, por lo que obtienes un error de sintaxis.
La parte relevante de la especificación es la sección 12.2.6 .
En JavaScript, es posible hacer:
var a = {this: this}
pero con la taquigrafía de la propiedad ES6 obtengo SyntaxError:
var b = {this}; // SyntaxError: this is a reserved identifier
Este no es un caso de uso real, pero me pregunto cuál es la diferencia entre estos dos. Pensé que debería hacer lo mismo (ya sea crear un nuevo objeto o lanzar un error).
ACTUALIZAR:
Ejecuto este ejemplo en Firefox 42.0. Sin embargo, funciona en babel-node (crea el objeto { this: {} }
sin error). Entonces, ¿cuál es el comportamiento correcto?