【发布时间】:2016-09-20 06:17:20
【问题描述】:
我正在一个遗留库函数上编写一个兼容层,其内部签名看起来像——
function legacyLibraryFunction(context) {
context.foo.bar = "data"
return context
}
但是,新系统不建议将自定义属性直接分配给context,而是建议使用context.set() 方法。
如何将context 从新系统传递到旧系统,以使context.foo="data" 最终被称为context.set('foo', data)?
我猜我可以为此使用 Object.defineProperty,但我不太明白怎么做。
【问题讨论】:
-
您使用的是什么版本的 javascript?
-
这是针对特定的设置器还是可能用于上下文对象的任何设置器?后者需要代理。
-
@Paarth 这个特别的。我只需要处理遗留函数签名中的一个属性
标签: javascript getter-setter defineproperty