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
|
tests/cases/conformance/classes/members/privateNames/privateNamesAndStaticFields.ts(6,11): error TS18013: Property '#foo' is not accessible outside class 'B' because it has a private identifier.
tests/cases/conformance/classes/members/privateNames/privateNamesAndStaticFields.ts(7,11): error TS2339: Property '#bar' does not exist on type 'typeof B'.
==== tests/cases/conformance/classes/members/privateNames/privateNamesAndStaticFields.ts (2 errors) ====
class A {
static #foo: number;
static #bar: number;
constructor () {
A.#foo = 3;
B.#foo; // Error
~~~~
!!! error TS18013: Property '#foo' is not accessible outside class 'B' because it has a private identifier.
B.#bar; // Error
~~~~
!!! error TS2339: Property '#bar' does not exist on type 'typeof B'.
}
}
class B extends A {
static #foo: string;
constructor () {
super();
B.#foo = "some string";
}
}
// We currently filter out static private identifier fields in `getUnmatchedProperties`.
// We will need a more robust solution when we support static fields
const willErrorSomeDay: typeof A = class {}; // OK for now
|