美文网首页
ES6-class、extends、super

ES6-class、extends、super

作者: element_web | 来源:发表于2018-04-24 17:10 被阅读0次
    ES6中 有了Class(类的概念),这使得原型、构造函数,继承等显得更加简单
    // 定义一个类
    class Cat{
        // 里面有一个constructor方法,这就是构造方法,而this关键字则代表实例对象。
        // constructor内定义的方法和属性是实例对象自己的
        // 而constructor外定义的方法和属性则是所有实例对象可以共享的原型链上的方法
        constructor(){
            this.type= 'cat';
        }
        say(name){
            console.log(`${name} is a ${this.type} `)
        }
    }
    var m = new Cat();
    m.say('luck'); // luck is a cat 
    // class之间可以通过extends关键字实现继承
    class Newcat extends Cat{
        constructor(){
            super(); // 调用super()是继承父类的this对象
        }
    }
    // ES6的继承机制,实质是先创造父类的实例对象this
    // 所以必须先调用super方法,然后再用子类的构造函数修改this。
    

    相关文章

      网友评论

          本文标题:ES6-class、extends、super

          本文链接:https://www.haomeiwen.com/subject/japjlftx.html