20

有人建议使用这样的代码

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/上 时,它会给您带来错误。

如何从 B 访问 A 的 x 属性?

4

1 回答 1

45

使用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());
于 2013-10-10T05:13:16.683 回答