Динамически устанавливать геттеры и сеттеры для класса
Я могу установить свойство класса извне из строкового значения после того, как оно было создано так
Есть ли способ сделать это, если я знаю все свойства, которые могут быть созданы при создании класса?
2 ответа
Вы можете использоватьProxy
для обработки динамических операций получения и установки.
Вы можете создать
get/set
для всех свойств с использованием ES6
Proxy
конструкция, позволяющая реализовать низкоуровневые методы для объекта (например,
get
, который вызывается при доступе к любому свойству).
Подробности смотрите в документации Mozilla .
Обратите внимание, что как функция ES6 она имеет широкую, но не универсальную поддержку браузера (например, не работает в Internet Explorer) и не может быть полифиллирована, потому что функции, которые она использует, не существовали в более старых версиях JavaScript.