使用装饰器设置初始类的属性值

时间:2018-09-21 11:04:25

标签: javascript decorator

我正在努力解决如何使用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装饰器。

0 个答案:

没有答案