数组中变量的含义是属性名吗?

-2 javascript

var expertise = 'journalism'
var person = {
    name: 'Sharon',
    age: 27,
    [expertise]: {
        years: 5,
        interests: ['international', 'politics', 'internet']
    }
}
Run Code Online (Sandbox Code Playgroud)

在这个表达式中,为什么我们[expertise]在括号中考虑属性名称?放置支架需要什么?

Ork*_*nov 7

这是语法糖,介绍 ECMAScript 6

计算属性名称

从ECMAScript 2015开始,对象初始化程序语法还支持计算属性名称.这允许您将一个表达式放在方括号[]中,该表达式将作为属性名称进行计算.这与属性访问器语法的括号表示法是对称的,您可能已经使用它来读取和设置属性.

ECMAScript 5

var expertise = 'journalism'
var person = {
    name: 'Sharon',
    age: 27
}
person[expertise] = {
    years: 5,
    interests: ['international', 'politics', 'internet']
}
Run Code Online (Sandbox Code Playgroud)

ECMAScript 6

var expertise = 'journalism'
var person = {
    name: 'Sharon',
    age: 27,
    [expertise]: {
        years: 5,
        interests: ['international', 'politics', 'internet']
    }
}
Run Code Online (Sandbox Code Playgroud)