import * as types from './mutation-types'
const mutations={
[types.num]//mutation-types取/mutation-types里的值,为什么需要用[],直接types.num不可以吗?
}
import * as types from './mutation-types'
const mutations={
[types.num]//mutation-types取/mutation-types里的值,为什么需要用[],直接types.num不可以吗?
}
举个例子:
假如有个变量: let name = 'test'
另外有个对象a要获取变量name的内容,并且要把其内容作为其属性名。
我们知道对对象赋值可以通过'.'预算符,如a.age = 1
但是要实现上面这个需求用'.'运算符就无法实现,因为变量name的值是不可预知,
所以就需要[]运算符,则: a[name] = 'test2'
同理:types.num是个变量,我们要去它的值所为对象属性名,所以需要加括号
8 回答4.9k 阅读✓ 已解决
6 回答3.6k 阅读✓ 已解决
5 回答2.9k 阅读✓ 已解决
5 回答6.5k 阅读✓ 已解决
4 回答2.3k 阅读✓ 已解决
4 回答2.8k 阅读✓ 已解决
3 回答2.5k 阅读✓ 已解决
这属于
es6
里的属性名表达式
。当对象的属性名保存在一个变量中,或者需要计算时,在
es5
规范下,使用变量名是无法定义属性的。但在
es6
中,通过中括号
的方式,可以实现这一操作。例如: