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
|
//// [privateNameFieldDestructuredBinding.ts]
class A {
#field = 1;
otherObject = new A();
testObject() {
return { x: 10, y: 6 };
}
testArray() {
return [10, 11];
}
constructor() {
let y: number;
({ x: this.#field, y } = this.testObject());
([this.#field, y] = this.testArray());
({ a: this.#field, b: [this.#field] } = { a: 1, b: [2] });
[this.#field, [this.#field]] = [1, [2]];
({ a: this.#field = 1, b: [this.#field = 1] } = { b: [] });
[this.#field = 2] = [];
[this.otherObject.#field = 2] = [];
}
static test(_a: A) {
[_a.#field] = [2];
}
}
//// [privateNameFieldDestructuredBinding.js]
class A {
#field = 1;
otherObject = new A();
testObject() {
return { x: 10, y: 6 };
}
testArray() {
return [10, 11];
}
constructor() {
let y;
({ x: this.#field, y } = this.testObject());
([this.#field, y] = this.testArray());
({ a: this.#field, b: [this.#field] } = { a: 1, b: [2] });
[this.#field, [this.#field]] = [1, [2]];
({ a: this.#field = 1, b: [this.#field = 1] } = { b: [] });
[this.#field = 2] = [];
[this.otherObject.#field = 2] = [];
}
static test(_a) {
[_a.#field] = [2];
}
}
|