javascript - 了解 Javascript 对象代码片段

标签 javascript

我遇到了this code snippet在 Mozilla 开发者网络 (MDN) 上,我正在绞尽脑汁试图找出为什么结果确实是“值(value)”

var foo = {unique_prop: 1}, bar = {unique_prop: 2}, object = {};
object[foo] = 'value';
console.log(object[bar]);

如果有人愿意启发我,我将不胜感激!

最佳答案

object[foo] = 'value';

您只能使用字符串作为标识符,因此当上面的代码运行时,JavaScript 会在内部调用 ToString 方法,该方法表示 “[object Object]”。这就是对象的表示方式。

现在,当您执行 object[bar] 时,bar.toString() 也是 "[object Object]",并且由于 'value'"[object Object]" 作为键存储,并返回。

关于javascript - 了解 Javascript 对象代码片段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33502863/

相关文章:

php - 如何通过 URL 参数将 Javascript/jQuery 数组发送到 PHP?

javascript - 如何获取 block 中的元素?

javascript - ECMAScript 2017 : Difference between string literal, StringValue、字符串值和 SV

javascript - 当用户单击列时对表格进行排序

javascript - 当 https 成功时在 Controller 之间传递数据

javascript - 在字段中输入文本时需要启用按钮。

javascript - Google reCAPTCHA 不可见 - 它从哪里获取信息?

javascript - "The name does not exist in the current context javascript"+ 窗口位置

javascript - 如何在 JavaScript 条件语句中添加 CSS 'left' 属性?

javascript - 将根据值执行功能的函数。函数式编程