【js重学系列】对象常用方法

谈谈对面向对象的理解

  1. 继承:

    1. 原型链继承、call 继承、寄生组合继承、es6 的继承

  2. 封装:高内聚、低耦合

    1. 封装:将常用的功能封装成一个函数,方便下次使用。
  3. 多态:重载、重写

    1. 重载:其他语言的重载是方法名相同、形参的个数或类型不同。主要是为了减轻业务逻辑的复杂性,减少并发。js 的重载是用相同的函数名,根据参数的不用来实现不同的效果。
    2. 重写:在类的继承中,子类可以重写父类的方法

判断是否为空对象

  1. https://blog.csdn.net/watercatmiao/article/details/84261015

Object.assign()

  1. 方法用于将所有可枚举属性的值从一个或多个源对象分配到目标对象。它将返回目标对象。

  2. const target = { a: 1, b: 2 };
    const source = { b: 4, c: 5 };
    
    const returnedTarget = Object.assign(target, source);
    
    console.log(target);
    // expected output: Object { a: 1, b: 4, c: 5 }
    
    console.log(returnedTarget);
    // expected output: Object { a: 1, b: 4, c: 5 }
    
  3. Object.assign(target, ...sources)
    
  4. 参数

    • target

      目标对象。

    • sources

      源对象。

    返回值

    目标对象。

Object.create()

  1. 创建一个新对象,使用现有的对象来提供新创建的对象的__proto__。

  2. 
    
  3. Object.create(proto,[propertiesObject])
    
  4. proto

    新创建对象的原型对象。

  5. propertiesObject

    可选。需要传入一个对象,该对象的属性类型参照Object.defineProperties()的第二个参数。如果该参数被指定且不为 undefined,该传入对象的自有可枚举属性(即其自身定义的属性,而不是其原型链上的枚举属性)将为新创建的对象添加指定的属性值和对应的属性描述符。

返回值

一个新对象,带着指定的原型对象和属性。

例外

如果propertiesObject参数是 null 或非原始包装对象,则抛出一个 TypeError 异常。

Object.keys()

  1. 会返回一个由一个给定对象的自身可枚举属性组成的数组,数组中属性名的排列顺序和正常循环遍历该对象时返回的顺序一致

  2. Object.keys(obj)
    
  3. 参数

    • obj

      要返回其枚举自身属性的对象。

    返回值

    一个表示给定对象的所有可枚举属性的字符串数组。

posted @ 2021-05-28 21:42  有风吹过的地方丨  阅读(130)  评论(0编辑  收藏  举报