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でこれに対して提起された問題があることが判明しました。