(Forward) ['String'] to be function name, Javascript-Computed Property Names (ES6)

Unlike python dictionary, javascript objects need not have quotes around properties.

var eatables = {fruit: 'Apple', vegetable: 'Carrot'}
var edibles = {'fruit': 'Apple', 'vegetable': 'Carrot'}
// both eatables and edibles object return similar objects

What do you do when you want to have your properties take variables?

//This fails to substitute fruit_var with fruit
var fruit_var = 'fruit'
var eatables = {fruit_var: 'Apple', vegetable: 'Carrot'}
console.log(eatables) // {fruit_var: 'Apple', vegetable: 'Carrot'}

One way is to:

var eatables = {vegetable: 'Carrot'}
var fruit_var = 'fruit'
eatables[fruit_var] = 'Apple'
console.log(eatables) // {fruit: 'Apple', vegetable: 'Carrot'}

In ES6, you can use shorthand computed property names.

var fruit_var = 'fruit'
var eatables = {[fruit_var]: 'Apple', vegetable: 'Carrot'}
console.log(eatables) // {fruit: 'Apple', vegetable: 'Carrot'}

Not only that, you can even do javascript computations using computed property names

var eatables = {[fruit_var]: 'Apple', [fruit_var + ' Cake']: 'yummy' }
console.log(eatables) // {fruit: 'Apple', fruit Cake: 'yummy'}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值