![](/img/trans.png)
[英]What do square brackets around an expression mean, e.g. `var x = a + [b]`?
[英]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.