He estado revisando varias preguntas como esta para ver si existe una práctica estándar/mejor práctica para poner comillas en las claves en JavaScript, JSX o TSX. Sin embargo, no he encontrado nada y me gustaría saber (antes de construir un gran proyecto sobre malas prácticas) cuál es mejor entre:
obj = {'foo': 'bar'}y
obj = {foo: 'bar'}O mejor aún, ¿hay algún documento al que pueda referirme para esto?
Consulte la Guía de estilo de JavaScript de Airbnb . Tiene un conjunto estándar de directrices y mejores prácticas.
quote-props¿Por qué? En general lo consideramos subjetivamente más fácil de leer. Mejora el resaltado de sintaxis y muchos motores JS también lo optimizan más fácilmente.
// bad const bad = { 'foo': 3, 'bar': 4, 'data-blah': 5, }; // good const good = { foo: 3, bar: 4, 'data-blah': 5, };Los documentos de ESLint tienen alguna entrada sobre esto:
En muchos casos, no importa si elige usar un identificador en lugar de una cadena o viceversa. Aun así, puede decidir imponer un estilo consistente en su código.
Sin embargo, hay algunas ocasiones en las que debe usar comillas:
- Si utiliza un motor de JavaScript ECMAScript 3 (como IE8) y desea utilizar una palabra clave (como si) como nombre de propiedad. Esta restricción se eliminó en ECMAScript 5.
- Desea utilizar un carácter no identificador en el nombre de su propiedad, como tener una propiedad con un espacio como "uno dos".
Otro ejemplo en el que las comillas sí importan es cuando se usan literales numéricos como claves de propiedad:
var object = { 1e2: 1, 100: 2 };
En mi opinión, es bueno usar comillas cuando sea necesario.
Ambos funcionan y depende de usted lo que quiera hacer, pero mi profesor universitario nos dijo que no usáramos comillas para hacerlo un poco diferente del valor de cadena, por lo tanto, toda nuestra clase lo adoptó como práctica estándar.
obj = {foo: 'bar'}