2010-07-07 14 views

Respuesta

10

No hay diferencia en JavaScript. Sin embargo, deberá citar nombres de propiedades que sean palabras reservadas (como class) o nombres que contengan caracteres no válidos (como first-name).

+1

Así que, creo, esto es realmente solo una cuestión de estilo de codificación. Pero con las limitaciones impuestas a JavaScript por la necesaria cita de palabras reservadas, debería ser más consistente citar propiedades/métodos todo el tiempo. –

+2

@jindrichm: Sí, podría ser coherente al citar todos los nombres de propiedades, pero, por otro lado, también podría ser coherente en el uso de nombres de propiedades que son nombres válidos de variables. En general, tiendo a no citar, pero no estoy particularmente comprometido con ninguno de los estilos ... Tenga en cuenta que si usa nombres de propiedades que no son nombres válidos de variables, no podrá usar la notación de puntos para acceder a las propiedades: 'myObject.myProperty', pero se limitará a usar la notación del subíndice:' myObject ['myProperty'] '. –

5

Hasta ES 3 necesita citar reserved words del idioma (nuevo, predeterminado, clase, etc.). En la nueva versión, sin embargo, esto será innecesario.

Pero como ES 5 aún no es compatible, debe seguir citando todo reserved words.

Si no quiere memorizar la lista completa de palabras, es mejor que cite todo.

Extra: esta es la razón por la que no tiene propiedades float y class en un elemento. En su lugar, debe usar cssFloat/styleFloat y className.

Otra adición es que debe citar cada clave en una cadena JSON. La razón es porque querían que fuera independiente del lenguaje, para no interferir con restricciones estúpidas como la de ES3.

+0

Creo que se refiere a * ES3 *, porque * ES3.1 * fue simplemente [renombrado] (http://en.wikipedia.org/wiki/ECMAScript#ECMAScript.2C_5th_Edition) a * ES5 *, cuando ES4 fue abandonado. – CMS

+0

sí, estaba escribiendo rápido, y me olvidé de verificarlo, gracias por el error tipográfico ... :) – galambalazs

Cuestiones relacionadas