Как вы получаете доступ к свойствам базового класса в Typescript?

Было предложено использовать такой код

class A {
    // Setting this to private will cause class B to have a compile error
    public x: string = 'a';
}

class B extends A {
    constructor(){super();}
    method():string {
        return super.x;
    }
}

var b:B = new B();
alert(b.method());

и даже получил 9 голосов. Но когда вы вставляете его на официальную площадку TS http://www.typescriptlang.org/Playground/ это дает вам и ошибку.

Как получить доступ к свойству x из A из B?

Ответ 1

используйте this, а не super:

class A {
    // Setting this to private will cause class B to have a compile error
    public x: string = 'a';
}

class B extends A {
    // constructor(){super();}
    method():string {
        return this.x;
    }
}

var b:B = new B();
alert(b.method());