File: abstractProperty%28target%3Des2015%29.js

package info (click to toggle)
node-typescript 4.9.5%2Bds1-2
  • links: PTS, VCS
  • area: main
  • in suites: sid, trixie
  • size: 533,908 kB
  • sloc: javascript: 2,018,330; makefile: 7; sh: 1
file content (38 lines) | stat: -rw-r--r-- 664 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
//// [abstractProperty.ts]
abstract class A {
    protected abstract x: string;
    public foo() {
        console.log(this.x);
    }
}

class B extends A {
    protected x = 'B.x';
}

class C extends A {
    protected get x() { return 'C.x' };
}


//// [abstractProperty.js]
class A {
    foo() {
        console.log(this.x);
    }
}
class B extends A {
    constructor() {
        super(...arguments);
        Object.defineProperty(this, "x", {
            enumerable: true,
            configurable: true,
            writable: true,
            value: 'B.x'
        });
    }
}
class C extends A {
    get x() { return 'C.x'; }
    ;
}