ES6学习笔记(对象的扩展)
1.简洁表示法
传统的对象赋值一般会写成这样
const getUserInfo = () =>{
const name = 'Lyn';
const age = 18;
return{
name: name,
age: age,
say: function () {
console.log(this.name + this.age);
}
};
};
const Lyn = getUserInfo();
console.log(Lyn); //打印结果{
name: "Lyn", age: 18, say: ƒ}
console.log(Lyn.say()); //打印结果Lyn18
在ES6中可以写成这样
const getUserInfo = () =>{
const name = 'Lyn';
const age = 18;
return{
name,
age, //属性名和方法名,都都可以简化
say() {
console.log(this.name + this.age);
}
};
};
const Lyn = getUserInfo();
console.log(Lyn);
console.log(Lyn.say());
2.属性名表达式
const key = '$abc';
const obj = {
a: 1,
[key]: 2, //同等于 $abc: 2
}
console.log(obj);
3.复制对象
const obj1 = {
a:1,
b:2
};
const cObj1 = {...obj1};
console.log(cObj1); //打印结果{a: 1, b: 2}
4.合并对象
const obj1 = {
a:1,
b:2
};
const obj2 = {
c:3,
a:9
};
const newObj = {
...obj1,
...obj2
};
console.log(newObj); //打印结果{a: 9, b: 2, c: 3},注意这里因为在obj1和obj2中都存在a,合并会取后一个对象的值
5. 取键、键值、键值对
const obj = {
a:1,
b:2,
c:3
};
console.log(Object.keys(obj)); //返回键所组成的数组
console.log(Object.values(obj)); //返回键值所组成的数组
console.log(Object.entries(obj)); //返回键和键值所组成的数组的数组
还没有评论,来说两句吧...