22

There was a suggestion of using code like this

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());

and it even got 9 votes. But when you paste it on the official TS playground http://www.typescriptlang.org/Playground/ it gives you and error.

How to access the x property of A from B?

Alex Vaghin
  • 295
  • 1
  • 2
  • 6

1 Answers1

49

use this rather than 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());
Pascalz
  • 2,348
  • 1
  • 24
  • 25