![](/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.