继承

继承

  • ES6 之前并没有给我们提供 extends 继承,我们可以通过构造函数+原型对象模拟实现继承,被称为组合继承

.call()

  • 调用这函数,并且修改函数运行时的 this 指向

xxx.call(thisArg,arg1,arg2,...)

  1. thisArg:当前调用函数 this 的指向对象
  2. arg1,arg2:传递的其它参数

借用构造函数继承父类型属性和方法

属性

  • 核心原理:通过 call() 把父类的this 指向子类的 this,这样就可以是新啊子类型继承父类的属性

方法

类的本质

  1. 类的本质还是函数,我们也可以简单的认为 类就是 构造函数的另外一种写法
  2. 类的所有方法都定义在类的 prototype 属性上
  3. 类创建的实例,里面也有 proto 指向例的 prototype
  4. 所以 ES6 的类它的大部分功能,ES5 都可以做到,新的 class 写法只是让对象原型的写法更加清晰、更像面向对象编程的语法而已
  5. 所以 ES6 的类就是语法糖
    语法糖:更简单、更便捷的一种方法就是语法糖
posted @ 2020-03-23 19:36  懒惰ing  阅读(120)  评论(0编辑  收藏  举报