ES6+ 新增对象方法
【摘要】 本片整理记录个人所学 ES6+ 新增对象方法。
ES6+ 新增对象方法
Object.assign()
Object Object.assign(target, ...sources) 将所有可枚举属性的值从一个或多个源对象复制到目标对象
参数:
target
目标对象
sources
源对象
返回值:
目标对象
Example:
let obj1 = { a: 1, b: 2 } let obj2 = { a: 5, c: 3, d: 4 } Object.assign(obj1, obj2); //P.s: "目标对象"原a属性会被"源对象"a属性替换,c属性"目标对象"无,则会被添加 console.log(obj1); // {a: 5, b: 2, c: 3, d: 4} // 源对象不会该表 console.log(obj2); // {a: 5, c: 3, d: 4}
通常合并对象,同过展开对象的方式
// 对象合并 let obj1 = { a: 1, b: 2 } let obj2 = { ...obj1, a: 10, c: 3, d: 4, } let obj3 = { a: 10, ...obj1, c: 3, d: 4, } // P.s 插入的展开对象顺序会影响结果值 console.log(obj2); // {a: 10, b: 2, c: 3, d: 4} console.log(obj3); // {a: 1, b: 2, c: 3, d: 4}
Object.is()
Boolean Object.is(value1, value2) 判断两个值是否是相同的值。
规则:
两个值都是 undefined
两个值都是 null
两个值都是 true 或者都是 false
两个值是由相同个数的字符按照相同的顺序组成的字符串
两个值指向同一个对象
两个值都是数字并且
都是正零 +0
都是负零 -0
都是 NaN
Example:
// console.log(Object.is(1,"1")); // fasle // console.log(NaN === NaN); // false // let res = Object.is(NaN, NaN); // console.log(res); // true console.log(-0 === +0); // true let res = Object.is(-0, +0); console.log(res); // false
对象简洁表示法
属性简洁表示
方法简洁表示
Example:
let a = 0; let b = 1; // 原先写法 // let obj = { // a: a, // b: b, // c: function() { // console.log("c!!!"); // } // } // 简介写法 let obj = { a, b, c() { console.log("c..."); } }
对象的属性名表达式
Example:
let name = "rockyYee"; let obj = { [name]: 24 } conole.log(obj); // { rockyYee: 24 }
END
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)