entre diferencia dentro con comillas buscar javascript

diferencia - comillas dentro de comillas javascript



¿Cuál es la diferencia entre las teclas de objeto con comillas y sin comillas? (6)

Desde los nombres de propiedades / claves de objeto sin comillas en JavaScript , mi reseña sobre el tema:

Las comillas solo pueden omitirse si el nombre de la propiedad es un literal numérico o un nombre de identificador válido .

[...]

La notación de paréntesis se puede usar con seguridad para todos los nombres de propiedad.

[...]

La notación de puntos solo se puede usar cuando el nombre de la propiedad es un nombre de identificador válido.

Tenga en cuenta que las palabras reservadas se pueden usar como nombres de propiedad sin comillas en ES5. Sin embargo, para compatibilidad con versiones anteriores de ES3, sugeriría citarlas de todos modos.

También hice una herramienta que le dirá si un nombre de propiedad determinado puede usarse sin comillas y / o con notación de puntos. Pruébalo en mothereff.in/js-properties .

¿Hay alguna diferencia entre

obj = {''foo'':''bar''}

y

obj = {foo: ''bar''}

Me he dado cuenta de que no puede usarla en la tecla cuando no usa las comillas. Pero, ¿realmente hace la diferencia? ¿Y si si, que?


Diferencias

  1. Sin cita: es un objeto cuando no hay cita.

Acceda al miembro del objeto: object.member

  1. Tiene cita : es un mapa cuando hay una cita.

Acceda al miembro del mapa: objeto [miembro]


Hay algunas situaciones en que son diferentes. Por ejemplo, si está utilizando jQuery y está haciendo una lista de parámetros para pasar al invocar el comando jQuery $ () para crear un elemento, las palabras entrecomilladas se convierten en parámetros y las palabras no citadas se convierten en funciones. Por ejemplo, "tamaño" establecerá el atributo de tamaño del objeto, y el tamaño (sin comillas) llamará a la función de tamaño () en el objeto. Ver jQuery() , cerca de la parte inferior:

Si bien el segundo argumento es conveniente, su flexibilidad puede conducir a consecuencias no deseadas (por ejemplo, $ (" <input> ", {size: "4"}) llamando al método .size () en lugar de establecer el atributo de tamaño). Por lo tanto, el bloque de código anterior podría escribirse como:


No hay diferencia aquí. Solo una cuestión de estilo. Una de las razones para hacerlo es poder usar ''super'' o ''clase'' como clave, ya que son palabras clave reservadas.

Algunas personas pueden tener la tentación de pasar una cadena con espacios en blanco y luego llamar a ["Puedo tener espacio en blanco"]. Pero yo llamaría a esa mala práctica.


No, las cotizaciones no hacen la diferencia (a menos que, como lo indicó, desee utilizar una clave que no sea un identificador de JavaScript válido).

Como nota al margen, el formato de intercambio de datos JSON requiere comillas dobles para los identificadores.


No, no a javascript. Sin embargo, algunos analizadores JSON fallarán cuando las comillas alrededor de las claves no estén presentes.