【问题标题】:what does mean by this line of code in JS obj[{key:"value"}] = "value";JS中的这行代码是什么意思 obj[{key:"value"}] = "value";
【发布时间】:2021-08-05 06:07:23
【问题描述】:

let obj = {};
            obj[{key:"instagram"}] = "Akrixa";
            obj[{key:"facebook"}] = "Coding with Akrixa";

            console.log(obj[{key: "instagram"}]);

这是一个我对第二行和第三行代码感到困惑的问题,这些行是什么?

【问题讨论】:

  • 这没有任何用处(试试console.log(obj)
  • 好的,你能告诉我什么意思吗?
  • 基本上是指定特定键的值

标签: javascript object


【解决方案1】:

obj[{key:"instagram"}] = "Akrixa" 相当于 obj[({key:"instagram"}).toString()] = "Akrixa" 因为对象是由字符串键入的。所以它相当于 obj["[object Object]"] = "Akrixa"

【讨论】:

    【解决方案2】:

    我认为因为 obj[{key:"instagram"}] 和 obj[{key:"facebook"}] 是同一个对象。为它赋值时,它具有相同的值。更多详情:How to create dictionary and add key–value pairs dynamically?。希望对你有帮助

    【讨论】:

      【解决方案3】:

      第二行 obj[{key:"instagram"}] = "Akrixa"; 在你的 obj [{key:"instagram}](它是一个数组中的一个对象)中创建一个键,然后将该键的值设置为 Akrixa,第三行的作用相同,但带有不同的键和值。

      使用obj["instagram"] = "Akrixa"obj["facebook"] = "Coding with Akrixa"可能会更好,以避免过于复杂,然后您可以参考obj["instagram"]等。

      let obj = {};
      obj["instagram"] = "Akrixa";
      obj["facebook"] = "Coding with Akrixa";
      console.log(obj["instagram"]);

      【讨论】:

        猜你喜欢
        • 2022-11-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-12-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多