知识点:什么是属性表达式?先看一下官方解释
ES6 允许字面量定义对象时,即把表达式放在方括号内。
let obj = {
[propKey]: true,
['a' + 'bc']: 123
};
在ES5中创建对象的键就三种object.xx、object[‘xx’]、Object.defineProperty可以用来构建对象的键。在ES6中可以使用更多的方法来创建。
let obj = {
abc: 123,
"hello": "world"
}
console.log(obj["abc"]) // 123
console.log(obj["hello"]) // 'world'
修改属性名:
有的时候 ,我们可能需要修改键的名字,es5怎么写我就不管了。。因为太复杂了,你看下es6就行了。
“[ ]” 括号里面可以放方法 也可以放对象 随你喜欢。
let name = "dangyunlong";
let age = "31";
let man={
[name]:age
}
console.log(man);
//{dangyunlong: "31"}
根据属性名表达式,还他妈能直接在里面运行方法,贼变态:
let fun = (x)=>"xingming:"+x
let name = "dangyunlong";
let age = "31";
let man={
[fun(name)]:age
}
console.log(man);