方括号Javascript对象键

谁能解释下面为什么在javascript中分配键的原因/方式?


a = "b"

c = {[a]: "d"}

返回:


Object {b: "d"}


小唯快跑啊
浏览 302回答 3
3回答

撒科打诨

这是新的ES2015(正式称为ES6的EcmaScript规范)计算的属性名称语法。这someObject[someKey]是您从ES3 / 5知道的任务的简写:var a = "b"var c = {[a]: "d"}是用于以下方面的语法糖:var a = "b"var c = {}c[a] = "d"

皈依舞

实际上,在创建JavaScript 对象时,的使用[]提供了一种使用变量的实际值作为键/属性的绝妙方法。我对上面的答案非常满意,对此我表示赞赏,因为它使我可以举一个小例子。我已经在Node REPL(Node shell)上逐行执行了代码。> var key = "fullName";     // Assignmentundefined>> var obj = {key: "Rishikesh Agrawani"}    // Here key's value will not be usedundefined> obj     // Inappropriate, which we don't want{ key: 'Rishikesh Agrawani' }>> // Let's fixundefined> var obj2 = {[key]: "Rishikesh Agrawani"}undefined> obj2{ fullName: 'Rishikesh Agrawani' }>

米脂

const animalSounds = {cat: 'meow', dog: 'bark'};const animal = 'lion';const sound = 'roar';{...animalSounds, [animal]: sound};结果将是{cat: 'meow', dog: 'bark', lion: 'roar'};
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript