我正在努力解决如何使用decorator(在类属性上设置默认值)(如果可以的话,以及 )。例如,类似:
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装饰器。