swc/crates/swc_ecma_parser/tests/tsc/privateNameFieldDestructuredBinding.ts

26 lines
664 B
TypeScript
Raw Normal View History

// @target: esnext, es2022, es2015
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];
}
}