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 39 40 41 42 43 44 45 46 47 48 49 50
|
//// [privateNameStaticFieldDestructuredBinding.ts]
class A {
static #field = 1;
otherClass = A;
testObject() {
return { x: 10, y: 6 };
}
testArray() {
return [10, 11];
}
constructor() {
let y: number;
({ x: A.#field, y } = this.testObject());
([A.#field, y] = this.testArray());
({ a: A.#field, b: [A.#field] } = { a: 1, b: [2] });
[A.#field, [A.#field]] = [1, [2]];
({ a: A.#field = 1, b: [A.#field = 1] } = { b: [] });
[A.#field = 2] = [];
[this.otherClass.#field = 2] = [];
}
static test(_a: typeof A) {
[_a.#field] = [2];
}
}
//// [privateNameStaticFieldDestructuredBinding.js]
class A {
static #field = 1;
testObject() {
return { x: 10, y: 6 };
}
testArray() {
return [10, 11];
}
constructor() {
this.otherClass = A;
let y;
({ x: A.#field, y } = this.testObject());
([A.#field, y] = this.testArray());
({ a: A.#field, b: [A.#field] } = { a: 1, b: [2] });
[A.#field, [A.#field]] = [1, [2]];
({ a: A.#field = 1, b: [A.#field = 1] } = { b: [] });
[A.#field = 2] = [];
[this.otherClass.#field = 2] = [];
}
static test(_a) {
[_a.#field] = [2];
}
}
|