我看到 babel.js 装饰器(在“阶段 1”中可用)在https://github.com/wycats/javascript-decorators实现规范。装饰器似乎仅限于 (1) 类、(2) 访问器和 (3) 方法。就我而言,我想在普通的旧函数上使用装饰器,如
@chainable
function foo() { }
在哪里(只是一个例子)
function chainable(fn) {
return function() {
fn.apply(this, arguments);
return this;
};
}
我看不出装饰器不能应用于函数的任何合乎逻辑的原因。我的问题是,有没有办法做到这一点?或者有什么好的理由不能装饰函数?
事实证明,在https://github.com/wycats/javascript-decorators/issues/4上提出了一个问题。