繁体   English   中英

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

[英]What do square brackets around a property name in an object literal mean?

用JS写了一段时间,没用过这种形式:

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

[]:[]

它有效,我只是没有使用过或以前看过它。

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

来自MDN

从 ECMAScript 2015 开始,对象初始值设定项语法也支持计算属性名称。 这允许您将表达式放在方括号[] ,该表达式将被计算为属性名称。

在 ES6 中,方括号是使用计算密钥对时对象字面量的一部分。

例如:-

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

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

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM