Ver Mensaje Individual
  #11 (permalink)  
Antiguo 24/05/2012, 21:04
Avatar de zerokilled
zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años, 10 meses
Puntos: 1485
Respuesta: No entiendo como funciona este bucle en javascript. ¿alguien puede explica

Cita:
Dos modos de hacer lo mismo me parecía raro (usar sintaxis de corchetes o de punto para añadir/acceder a una propiedad)...
mírale el lado útil. con la sintaxis de corchete puedes crear propiedades al vuelo, cosa que no puedes hacer con la sintaxis de punto. adicionalmente, con la sintaxis de corchete no estás limitado a la norma de identificadores válidos. es decir, la norma de que los identificadores (nombre de variables o funciones) deben comenzar por A-Za-z_$. de hecho, incluso puedes hacer cosas más bizarra como usar valores distinto a los strings.

Código:
var literal = {'0cero': 'comienza por 0'};
literal["(*)"] = 'una propiedad extraña usando simbolos';
console.log(literal["0cero"], literal["(*)"]);

var weird = {};
weird[literal] = "el key o nombre de propiedad es un objeto";
console.log(weird[literal]);
recuerdo que por ahí hay un tema en que señale esta característica y creo tiene más ejemplos... pero no recuerdo cual tema fue. no obstante, aclarar que funciona porque en realidad lo que sucede es que javascript convierte el dato a string y utiliza ese string como nombre para la propiedad. por ejemplo, en lugar literal intenta pasarle otro objeto genérico.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.

Última edición por zerokilled; 24/05/2012 a las 21:25