akokarev
@akokarev
Начинающий программист

JS GAS как отловить обращение к несуществующему свойству объекта?

Используя Google Apps Script (JavaScript), нужно создать объект через конструктор function. В объекте изначально нет свойств, но могут появлятся по мере обращения к ним. Как отследить что произошло обращение к несуществующему свойству и задать ему значение по-умолчанию?

Вероятно есть какой-то геттер всего объекта, который срабатывает при каждом обращении к его свойствам?

Аналогично у объекта изначально нет методов, но они могут быть добавлены по мере обращения к ним. Соответственно необходимо отловить это событие и добавить необходимые методы.

В JS вроде добавили специальный объект Proxy для таких целей, но в Google App Script он не реализован, или надо какую-то специальную либу подключать?
  • Вопрос задан
  • 403 просмотра
Пригласить эксперта
Ответы на вопрос 1
Robur
@Robur
Знаю больше чем это необходимо
Если нет - то нет, proxy не полифилится. Напишите что-то в духе
var object = {
  prop: function (name) { this[name]=this[name] || 'my new prop value';  return this[name]}
  func: function (name) {/*аналогично*/}
}

/// где-то там дальше, вместо obj.x = 'foo'
obj.prop('x') = 'foo'
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы