es6--class以及类的继承

发布时间:2019-08-09 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了es6--class以及类的继承脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

使用class

 class Miaov{
        constructor (a,b){   //构造对象的时候需要传递的对象
            this.a=a;
            this.b=b;
            return this;  //注意这里的return的值
        }
        PRint(){
            console.LOG(this.a+this.b)
        }
    }
    let mm=new Miaov(1,2); 
    mm.print();  //2

同时值得注意的是typeof Miaov 会返回function 所以class 只是一个语法糖
Miaov中的constructor方法是构造方法 this关键字代表的是实例对象 定义在class中的方法都是相当于定义在Miaov.prototype上边

es5不同的是 es5中的构造函数可以直接调用 但是如果通过es6中的class声明的类不能直接调用

在class中定义的方法都需要return this 这样才可以进行链式调用
一个类必须有constructor 没有的话 class会使用一个空的构造函数(这个构造函数什么都不会做)
定义在类中的方法都是不可以被枚举的

class的继承 extends static super

在子类中的构造函数中必须先通过 super调用父类中的构造函数。值得注意的是与ES5完全不同的是不能通过父类.call(this,参数)来实现 因为子类在没有调用父类的constructor之前实例是没有this的。

所以如果在子类的构造函数中需要使用this 必须先使用super() 来生成实例以后再使用this

super这个关键字不能在子类的其他方法中调用 除了子类的构造函数

          当出现在其他非构造方法中的时候  指的是父类的原型对象  不能当做函数调用

子类会继承父类多有的方法(包括静态)
static 方法 就将这个方法指定为静态方法

脚本宝典总结

以上是脚本宝典为你收集整理的es6--class以及类的继承全部内容,希望文章能够帮你解决es6--class以及类的继承所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。