ES6 类继承 和 super的使用

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

ES6继承 详细类容参考:http://es6.ruanyifeng.com/#do...

1、super()使用

class A {
    construcor(a, b) {
        this.a = a;
        this.b = b;
    }
}

class B extends A {
    constructor(x, y, z) {
        suPEr(x, y);
        this.z = z;
        console.LOG(x, '---', y, '----', z, '----');
    }
}

let b = new B(1, 2, 8);
// 1 "---"  2  "----" 8 "----"

注意:ES6中继承的子类中,如果使用构造函数constructor()那么就必须使用 super()方法初始化,这样下面才可以调用this关键字。super()只能用在子类的构造函数之中,用在其他地方就会报错。

子类必须在constructor方法中调用super方法,否则新建实例时会报错。这是因为子类自己的this对象,必须先通过父类的构造函数完成塑造,得到与父类同样的实例属性和方法,然后再对其进行加工,加上子类自己的实例属性和方法。如果不调用super方法,子类就得不到this对象。 ---阮一峰

2、父类中的静态方法,子类中可以通过类名直接调用

class A2 {
    static hello() {
        console.log("hello world");
    }
}

class B2 extends A2 {
    constructor() {
        super();
    }
}

B2.hello();
// hello world

3、Object.getPRototypeOf()判断子类继承的父类

Object.getPrototypeOf(B2);
    // A2
通过apply打印变化参数的log
Log() {
    console.log.apple(console, arguments);
}
当参数数量不确定时,函数内部也可以通过 arguments 这个伪数组来遍历所有的参数。

js apply() call() bind() 深入理解 好文推荐:http://www.cnblogs.com/coco1s...

脚本宝典总结

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

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

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