原型
原型是一个对象。
每一个对象都有他的原型对象__Proto__(是两个_),可以使用自己原型对象身上的所有属性和方法。
获取原型的方法
- 通过对象的__Proto__获取
- 通过构造函数的prototype属性拿到原型
3.通过类的prototype属性获得原型
原型对象的作用
用来扩展对象
(内置对象,自定义对象都可以)
使用场景:
如返回一个格式化的时间,2022年7月5日
class类(对象的模板)
用class关键字定义类
继承
对象使用自己原型身上的属性和方法,就是一种继承。
继承就是子对象可以使用父对象身上的所有属性和方法。
方法1. extends (es6)
方法2. 基于原型的继承 (es5)
原型链
每个对象都有它的原型对象prototype,因为可以使用原型对象身上的属性和方法,当你调用对象的方法时,如果这个对象身上没有,就会继续往它的原型对象身上找直到找到这个方法或者找到object.prototype为止,这样就形成了一个原型链。
原型链的最顶端是object.prototype,如果在object.prototype身上添加方法,那么所有的对象类型(数组,对象,日期,math)都可以调用这个方法。