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)