Динамически устанавливать геттеры и сеттеры для класса

Я могу установить свойство класса извне из строкового значения после того, как оно было создано так

Есть ли способ сделать это, если я знаю все свойства, которые могут быть созданы при создании класса?

2 ответа

Вы можете использоватьProxyдля обработки динамических операций получения и установки.

Вы можете создать get/setдля всех свойств с использованием ES6 Proxyконструкция, позволяющая реализовать низкоуровневые методы для объекта (например, get, который вызывается при доступе к любому свойству).

Подробности смотрите в документации Mozilla .

Обратите внимание, что как функция ES6 она имеет широкую, но не универсальную поддержку браузера (например, не работает в Internet Explorer) и не может быть полифиллирована, потому что функции, которые она использует, не существовали в более старых версиях JavaScript.

Другие вопросы по тегам