ES6-对象的拓展-属性名表达式
文章目录
js定对象的属性,有2中方法
1 | //方法一 |
方法一:用标识符作为属性名.
方法二:表达式作为属性名.要将表达式放在方括号内.
使用字面量定义对象的属性
es5只能使用标识符定义属性
1 | let obj = { |
无法使用表达式定义对象属性.
es6允许表达式这样干了.
1 | let name = 'name'; |
表达式还可以定义方法名
1 | let sayName = 'sayName'; |
属性名表达式如果是一个对象,默认情况下会自动将对象转为字符串 [object Object]
1 | const keyA = {a: 1}; |
上面代码中,[keyA]
和 [keyB]
得到的都是 字符串[object Object]
,所以 [keyB]
会把 [keyA]
覆盖掉,而 myObject
最后只有一个 [object Object]
属性。