Как получить список публичных полей класса?

Например

class A {
  x;
  y;
  constructor() {
    this.x=0
    this.y=0
  }
}

Как получить ['x','y'] ?

Без new, без запуска конструктора.

Object.keys( new A ) работает, но не хочется лишних ифов в конструкторе только для того чтоб вернуть поля.


Ответы (1 шт):

Автор решения: 隼SAPSAN

Может таким способом попробовать?

 class A
{
  static x = 1;
  static y = 1;

  constructor()
  {
    A.x=0
    A.y=0
  }

  static values()
  {
      return [this.x, this.y];
  }
}

console.log("before ", A.values())

let aNewClass = new A();

console.log("after ",A.values())

→ Ссылка