var a={},
b={key:'b'},
c={key:'c'};
a[b]=123;
a[c]=456;
console.log(a[b]);//出力は 456 です。
出力結果が 456 になる理由がわかりません。説明を手伝ってください。
黄舟2017-06-12 09:32:19
JavaScript では、 が []
访问对象属性时, 方括号中的表达式将会被求值并被转换成一个字符串,调用它的toString
メソッドを渡すとき。
つまり:
それではb
和 c
均转换成相同的字符串 [object Object]
、再度割り当てると上書きされてしまいます