ES6新特性:对象优化
Posted 流楚丶格念
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ES6新特性:对象优化相关的知识,希望对你有一定的参考价值。
文章目录
基础用法
属性打印
const person =
name: 'jack',
age: 21,
language: ['java','js','css']
;
// 打印所有key
console.log(Object.keys(person));
// 打印所有value
console.log(Object.values(person));
// 将属性值以键值对的方式打印
console.log(Object.entries(person));
复制对象
使用Object对象的assign方法进行对象的复制
const target = a:1;
const source1 = b:2;
const source2 = c:3;
Object.assign(target, source1, source2);
console.log(target); // a:1, b:2, c:3
声明对象简写
函数声明中,如果传入名与属性名相同,我们可以直接省略冒号与传入参数名
const age = 23;
const name = "zhangsan";
const person1 = age: age, name: name;
const person2 = age, name;
console.log(person1);
console.log(person2);
对象的函数属性简写
ES6支持三种方式编写函数的属性
其中需注意:箭头函数中不能使用this
let person3 =
name: 'jack',
eat: function (food)
console.log(this.name+'正在吃'+food);
,
// 箭头函数中不能使用this
eat2: food => console.log(person3.name+'正在吃'+food),
eat3(food)
console.log(this.name+'正在吃'+food);
person3.eat('香蕉');
person3.eat2('苹果');
person3.eat3('梨');
拷贝对象(深拷贝)
其中那那三个点是ES6的扩展运算符:不懂的可以参考我整理的另一篇基础博文:https://yangyongli.blog.csdn.net/article/details/123042910
let p1 = name: '张三', age: 28;
let p2 = ...p1;
console.log(p2);
对象合并
let p3 = name: '李四', sex: '男', birthday: '08.01';
// 如果合并的两个对象中有相同的属性值,后面的对象会覆盖前一个对象
let p4 = ...p3, ...p1;
console.log(p4);
以上是关于ES6新特性:对象优化的主要内容,如果未能解决你的问题,请参考以下文章
JavaScript 学习笔记: ES6 新特性——对象初始器中函数属性简写