为了账号安全,请及时绑定邮箱和手机立即绑定

方括号Javascript对象键

方括号Javascript对象键

小唯快跑啊 2019-10-10 16:00:51
谁能解释下面为什么在javascript中分配键的原因/方式?a = "b"c = {[a]: "d"}返回:Object {b: "d"}
查看完整描述

3 回答

?
撒科打诨

TA贡献1934条经验 获得超2个赞

这是新的ES2015(正式称为ES6的EcmaScript规范)计算的属性名称语法。这someObject[someKey]是您从ES3 / 5知道的任务的简写:


var a = "b"

var c = {[a]: "d"}

是用于以下方面的语法糖:


var a = "b"

var c = {}

c[a] = "d"


查看完整回答
反对 回复 2019-10-10
?
皈依舞

TA贡献1851条经验 获得超3个赞

实际上,在创建JavaScript 对象时,的使用[]提供了一种使用变量的实际值作为键/属性的绝妙方法。


我对上面的答案非常满意,对此我表示赞赏,因为它使我可以举一个小例子。


我已经在Node REPL(Node shell)上逐行执行了代码。


> var key = "fullName";     // Assignment

undefined

>

> var obj = {key: "Rishikesh Agrawani"}    // Here key's value will not be used

undefined

> obj     // Inappropriate, which we don't want

{ key: 'Rishikesh Agrawani' }

>

> // Let's fix

undefined

> var obj2 = {[key]: "Rishikesh Agrawani"}

undefined

> obj2

{ fullName: 'Rishikesh Agrawani' }

>


查看完整回答
反对 回复 2019-10-10
?
米脂

TA贡献1836条经验 获得超3个赞

const animalSounds = {cat: 'meow', dog: 'bark'};


const animal = 'lion';


const sound = 'roar';


{...animalSounds, [animal]: sound};

结果将是


{cat: 'meow', dog: 'bark', lion: 'roar'};


查看完整回答
反对 回复 2019-10-10
  • 3 回答
  • 0 关注
  • 299 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信