Получение свойств класса в JavaScript: методы получения имен свойств

Чтобы получить свойства класса JavaScript, вы можете использовать методы Object.getOwnPropertyNames()и Object.getOwnPropertySymbols(). Эти методы позволяют получить как перечисляемые, так и неперечислимые свойства объекта, включая свойства класса. Вот пример:

class MyClass {
  constructor() {
    this.property1 = 'value1';
    this.property2 = 'value2';
  }
  method1() {
    // Method code here
  }
  method2() {
    // Method code here
  }
}
const instance = new MyClass();
const properties = Object.getOwnPropertyNames(instance);
console.log(properties); // Output: ['property1', 'property2']
const symbols = Object.getOwnPropertySymbols(instance);
console.log(symbols); // Output: []

В приведенном выше примере Object.getOwnPropertyNames()возвращает массив, содержащий имена перечислимых и неперечисляемых свойств объекта экземпляр. В этом случае он возвращает ['property1', 'property2'].

Однако Object.getOwnPropertySymbols()в этом случае не возвращает никаких символов, поскольку мы не использовали символы в качестве свойств в классе.