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

我一直在JS写一段时间,并没有使用这种forms:

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

 []:[] 

它的工作,我只是没有使用过或看过它。

直到最近与ES6。 他们被称为“计算属性名称”

来自MDN :

从ECMAScript 2015开始,对象初始值设置语法也支持计算属性名称。 这允许你把一个expression式放在括号[] ,这将被作为属性名来计算。