首页 > 解决方案 > 为什么这没有给我我期望的对象..它是 {1:2} 而是控制台给出 {a:2}

问题描述

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

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

createObject(1, 2);

标签: javascriptobject

解决方案


没有括号,文字对象的属性名称不会被评估为表达式:

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

createObject(1, 2);


推荐阅读