【问题标题】:Why doesn't this give me the object I expected .. which is {1:2} Instead the console gives {a:2} [duplicate]为什么这没有给我我期望的对象..它是 {1:2} 而是控制台给出 {a:2} [重复]
【发布时间】:2020-12-03 11:05:30
【问题描述】:

为什么这没有给我我期望的对象..它是 {1:2} 而是控制台给出 {a:2}

function createObject (a, b) {
    const myObject = {a:b}
    console.log(myObject);
}

createObject(1, 2);

【问题讨论】:

  • 应该是{[a]: b},因为您想将a 评估为表达式而不是标识符/键
  • @Paul 谢谢!这解决了我的问题。

标签: javascript object


【解决方案1】:

没有括号,字面量对象的属性名不会被计算为表达式:

function createObject (a, b) {
    const myObject = {[a]: b}
    console.log(myObject);
}

createObject(1, 2);

【讨论】:

    猜你喜欢
    • 2011-04-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-19
    • 1970-01-01
    • 2020-03-14
    相关资源
    最近更新 更多