ES6 计算属性名快速上手

1. ES6 计算属性名

ES6 中引入了计算属性名,英文是 computed property names,它可以在对象字面量中动态计算属性名称

我们知道添加或修改对象的属性有两种常用的方法,一种是使用 . 语法,另外还可以使用 [] 传入一个结果为字符串的表达式。

  • 使用 . 添加或修改属性
const person = {}
person.name = '钢铁侠'
person.name = '美国队长'
  • 使用 [] 添加或修改属性
const person = {}
person['name'] = '钢铁侠'
str = 'name'
person[str] = '美国队长'

但是在对象字面量语法中,不管属性名加不加引号,它都会被当成一个字符串,没有办法动态生成属性名。

下面的例子中,我们尝试用 name 变量设置 person 对象字面量的属性名称,结果最终的属性名称还是 'name',而不是 '名字'

let name = '名字'
const person = {
  name: '钢铁侠'
}
console.log(person)
// Object { name: "钢铁侠" }

借助 ES6 的计算属性名,就可以在对象字面量中动态生成属性名称,它的语法是在方括号内放一个表达式 [表达式]

let name = '名字'
const person = {
  [name]: '钢铁侠'
}
console.log(person)
// Object { "名字": "钢铁侠" }

2. 参考资料


3. 欢迎关注

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值