对象字面量中属性名称周围的方括号意味着什么?

问题描述 投票:0回答:2

考虑以下对象文字:

{
  files: {
    [bpr + 'lib/Monster.min.js']: ['<%= concat.dist.dest %>']
  }
}

[]: []
语法有什么作用?

javascript ecmascript-6
2个回答
61
投票

最近才使用 ES6。它们被称为“计算属性名称”

来自MDN

从 ECMAScript 2015 开始,对象初始值设定项语法也 支持计算属性名称。这允许你输入一个表达式 在括号

[]
中,将被计算为属性名称。


7
投票

在 ES6 中,方括号是使用计算密钥对时对象文字的操作系统的一部分。

例如:-

问题 下面的字符串“key”乘以 5 生成一个名为“key”*5 的计算键,现在不使用方括号,这会导致语法错误

const newObject = {
    "key"*5:"value"
}

解决方案 解决方案是在使用计算属性作为键之前使用方括号

const newObject = {
    ["key"*5]:"value"
}

有关如何创建对象的更多参考,请查看此链接

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.