ES6:'这个'在继承的类中未定义

时间:2016-01-29 16:01:17

标签: node.js ecmascript-6

我有两个班,分别是A和B.类定义如下所示。

class A {

    constructor(){
        ...
    }

    ...
}

//Implementation 1

class B extends A {
    constructor(){
        this.childProperty = "something"; // this is undefined.
    }
}

//Implementation 2

class B {
    constructor(){
        this.childProperty = "something"; // this is not undefined.
    }
}

为什么thisImplementation 1未定义,而Implementation 2中未定义{{1}}?我在这里做错了什么?

2 个答案:

答案 0 :(得分:14)

您需要先致电super()

class B extends A {
   constructor() {
     super();
     this.childProperty = "cool"
   }
}

JsFiddle

答案 1 :(得分:5)

尝试将super添加到您的班级:

class B extends A {
    constructor(){
        super()
        this.childProperty = "something"; 
    }
}