ES5与ES6的类的继承,以及ES5继承方式有哪些?

ES5与ES6的类的继承,以及ES5继承方式有哪些?

ES5中:

1、原型链继承

原型链继承的核心:将父类的实例作为子类的原型
原型链式继承模式实现了子类对父类的原型的继承,但是,原型链式继承并没有实现代码的复用,且
如果原型中包含引用类型值,那么所有的实例会共享这个属性

2、构造函数

优点:构造函数模式继承实现了代码的复用;缺点:不能继承借用的构造函数的原型,只能借用构造
函数本身的属性方法;每次构造函数都要多走一个函数

3、组合继承

组合继承,既能达到对父类属性的继承,也能继承父类原型上的方法父类属性继承也不会在所有子
类的实列上共享;唯一缺点,子类原型上有父类构造函数属性,也就是多了一份属性

4、寄生组合继承

寄生组合式继承是对组合继承的进一步优化 如果所有继承该父类的子类对象的原型都指向同一个
,显然是错误的;不能直接继承 ,可以间接继承xxx.prototype ;我们让一个函数去指向
xxx.prototype,然后让xxx.prototype指向这个函数产生的对象 .

ES6中:

1、类的constructor方法

constructor方法是类的方法,通过new命令生成对象实例时,自动调用方法一个类必须有
constructor方法,如果没有显式定义,一个空的constructor方法会被添加

2、类的继承

在子类的构造函数中,如果显示声明了constructor,则必须要显示调用super函数,只有调用
super之后,才可以使用this关键字,否则会报错。
:enabled 匹配所有可用元素 :disabled 匹配所有不可用元素 :checked 匹配所有选中的被选中元素(复选框、单选框等,select中的option) :selected 匹配所有选中的option元素 $.escapeSelector(selector) className或IDName是有特殊符号

3、类的prototype属性和proto属性

ES5继承方式:

1、原型链继承
2、借用构造函数继承
3、组合继承
4、原型式继承
5、寄生式继承
6、寄生组合继承
7、用 Object.create实现类式继承

相关文章

谷歌翻译不能用了怎么办?最近有很多用户发现谷歌浏览器翻译...
ios17有不少新功能,此次更新重点升级了电话和短信的功能,新...
什么是IP地址?IP地址有什么用? 很简单,IP是整个TCP/IP协议...
网上找到的动图下载到本地保存时格式却成了webp,想要发表情...
小米手机一开相机就死机怎么处理? 处理手机一开相机就死机的...
充电宝押金什么时候可以退?具体操作充电宝退押金的操作步骤...