簡體   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