Я пытаюсь понять, как я могу (и , если я могу) использовать декоратор , чтобы установить значение по умолчанию для свойства класса.Например, что-то вроде:
const defaultValue = Math.random() > 0.5 ? 'Example value' : null
class Foo {
constructor () {
this.bar = null
}
@default bar
}
const item = new Foo()
console.log(item.bar) // Should return null or 'Example value' depending on outside factors.
В приведенном выше примере явно отсутствует объявление декоратора @default
, потому что я не знаю, как это сделать.
Мой примерУпрощенное выше, в действительности я буду использовать localstorage, чтобы проверить, есть ли значение, которое можно загрузить из предыдущего сеанса пользователя.Если нет, то декоратор не должен ничего менять.
Теперь - я пытался это сделать, но я не мог понять, как использовать декоратор для возврата значения, или вообще возможно ли это вообще.
Любая помощь очень ценится!
ОБНОВЛЕНИЕ: я использую это в проекте MobX , поэтому я заинтересован в продолжении работы с ES.Nextдекораторы.