Jea*_*eri 5 javascript decorator node.js ecmascript-6 babeljs
我正在使用 javascript 装饰器,但我很难处理传递给装饰器函数的目标
例如,如果你有
@Bar()
class Foo {
@deprecated(true)
doMagic() {}
}
function Bar() {
return function decorator(target) {
}
}
function deprecated(state) {
return function decorator(target, name, config) {
return config;
}
}
Run Code Online (Sandbox Code Playgroud)
我希望两个target是一回事,对,不是。例如
function Bar() {
return function decorator(target) {
let bar = new target(); // WORKS
bar instanceof target; // -> true
}
}
function deprecated(state) {
return function decorator(target, name, config) {
let bar = new target(); // ERROR
let bar = new target.constructor() // WORKS
bar instanceof target; // ?TypeError: Right-hand side of 'instanceof' is not callable
bar instanceof target.constructor // WORKS
return config;
}
}
Run Code Online (Sandbox Code Playgroud)
如您所见,两个target之间存在差异,我的问题是第二个target有什么问题
我使用 node v7.8.0,我正在使用以下 babel 插件 (.babelrc)
{
"presets": [
"es2015",
"stage-0"
]
Run Code Online (Sandbox Code Playgroud)
}
| 归档时间: |
|
| 查看次数: |
1277 次 |
| 最近记录: |