行为类似于函数的JavaScript变量

ora*_*nge 3 javascript getter lazy-evaluation

是否可以创建链接到函数的变量,并在每次读取变量时执行该函数?当某个翻译的调用已经发生时(返回将来可能会改变的翻译字符串),用例将是更新语言翻译。这有点类似于类的getter方法,但是没有实际定义类。

任何想法如何做到这一点(如果有的话)?

Phi*_*hil 6

你可以Object.defineProperty()用来做

Object.defineProperty(this, 'prop', { // adding to whatever "this" context is
  get: () => Math.random()
})

console.info('prop get #1', prop)
console.info('prop get #2', prop)
Run Code Online (Sandbox Code Playgroud)