美文网首页
对象的新增方法(笔记)

对象的新增方法(笔记)

作者: 灰灰_82a6 | 来源:发表于2019-07-17 13:12 被阅读0次

Object.assign()

1.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}

2.如果对象之间有同名属性,复制的时候后面的属性会覆盖前面的属性。
3.如果只有一个参数,则直接返回此参数。

const obj = {a: 1};
Object.assign(obj) === obj // true

4.如果该参数不是对象,则会先转成对象,然后返回。
5.由于undefined和null无法转成对象,所以如果它们作为第一个参数目标对象,就会报错。
如果作为源对象参数,源对象中无法转成对象的,就会跳过,不会报错。
6.只拷贝源对象的自身属性(不拷贝继承属性),也不拷贝不可枚举的属性。

Object.keys,Object.values,Object.entries()

1.Object.keys()返回对象所有可遍历的属性名(不包含继承的)

let obj = { a: 1, b: 2, c: 3 };
for (let key of Object.keys(obj)) {
     console.log(key); // 'a', 'b', 'c'
}

2.Object.values() 返回对象所有可遍历的属性值(不包含继承的)

let obj = { a: 1, b: 2, c: 3 };
 for (let key of Object.values(obj)) {
      console.log(key); // '1', '2', '3'
 }

3.Object.entries() 返回对象所有可遍历的键值对数组(不包含继承的)

let obj = { a: 1, b: 2, c: 3 };

for (let key of Object.entries(obj)) {
    console.log(key); // ["a", 1], ["b", 2],["c", 3]
}

相关文章

  • ES6学习 第四章 字符串的新增方法

    前言 本章介绍字符串对象的新增方法。不常用的方法不做重点笔记。本章原文链接:字符串的新增方法[https://es...

  • 对象的新增方法(笔记)

    Object.assign() 1.Object.assign方法用于对象的合并,将源对象的所有可枚举属性,复制到...

  • 对象的扩展

    对象的改变分为对象的扩展和对象的新增方法。 对象的扩展和新增的方法都有哪些? 1:属性的简洁表示法 2:属性名表达...

  • js对象新增的方法

    1.object.js() 类似与相等运算符== 和严格运算符===,不过==和===都有缺点,==会自动转...

  • es6-数值扩展

    数值处理新增特性 新增方法,如数学处理 方法调整,全局方法移植到 Number 对象上 多进制表示方法 是否有穷 ...

  • JavaScript 模式之内置对象的原型 前端早读课第28期

    软件和教堂非常相似——建成之后我们就在祈祷。 不在内置对象的原型上新增方法 写法 内置对象的原型上新增方法会降低代...

  • ECMAScript6 - 学习笔记 整理 - 3

    对象新增方法 数组去重 ES6 新构造函数方法

  • ES6中数组新增扩展

    一、构造函数新增的方法 二、实例对象新增的方法 五、排序稳定性将sort()默认设置为稳定的排序算法

  • ES6常用总结

    新增的常用特性: 1、Let 和Const2、模板字符串 3、对象属性缩写 4、箭头函数5、新增的对象操作方法 6...

  • Vue 监听不到属性变化

    1、通过vue的this.$set(object,key,value)方法,这种只能监听到新增对象,如果更新对象,...

网友评论

      本文标题:对象的新增方法(笔记)

      本文链接:https://www.haomeiwen.com/subject/eqirkctx.html