Tim McClure 3e4889d649 Class Private Static Accessors (#10217)
* Remove error for static private accessors

* Private static accessors strict

* Add loose mode support

* Move `value` decl for early return

* Reuse getter/setter template

* Reuse getter/setter templates

* Use `buildUndefinedNode` in accessor templates

* Extract `isAccessor` variable
2019-09-06 18:08:10 +02:00

23 lines
512 B
JavaScript

class Cl {
static #PRIVATE_STATIC_FIELD = "top secret string";
static get #privateStaticFieldValue() {
return Cl.#PRIVATE_STATIC_FIELD;
}
static set #privateStaticFieldValue(newValue) {
Cl.#PRIVATE_STATIC_FIELD = `Updated: ${newValue}`;
}
static getValue() {
return Cl.#privateStaticFieldValue;
}
static setValue() {
Cl.#privateStaticFieldValue = "dank";
}
}
expect(Cl.getValue()).toEqual("top secret string");
Cl.setValue();
expect(Cl.getValue()).toEqual("Updated: dank");