Me dieron un código javascript corto en una entrevista para dar el resultado de eso, pero no estaba seguro de cuál sería el resultado de eso. Crea un var object y asigna objetos como índices de ese objeto utilizando la estructura de datos de matriz. Consolé ese código después de la entrevista, pero aún no entiendo cómo muestra el resultado.
Aquí está el código
var a = {}; b = { key: 'b'}; c = { key: 'c'}; a[b] = 123; a[c] = 456; console.log(a[b]); //what is the output of this console statement and explain why¿Alguien puede explicar con la lógica de javascript detrás de la salida que muestra? ¡Gracias por adelantado!
El objeto utilizado como toString de la clave es [object Object] y eso es lo que se usa cada vez
var a = {}; b = { key: 'b'}; c = { key: 'c'}; a[b] = 123; // sets a["[object Object]"] console.log(b,a[b]) a[c] = 456; // ALSO sets a["[object Object]"] console.log(b,a[b]) console.log(Object.keys(a)) console.log(a[b]); console.log(a["[object Object]"]);Podría echar un vistazo al objeto a , donde ve el objeto de cadena (con toString() )
[object Object]como accesor.
Los objetos solo pueden tener cadenas como propiedades y con el último Symbol , también podría ser este.
var a = {}; b = { key: 'b'}; c = { key: 'c'}; a[b] = 123; a[c] = 456; console.log(a[b]); //what is the output of this console statement and explain why console.log(a);