const log = (target, name, descriptor) => {
//ES6实现AOP
const _handler = descriptor.value;
descriptor.value = function(){
console.log(arguments);
_handler.apply(this,arguments);
};
return descriptor;
}
class Math {
@log
add(a, b) {
return a + b;
}
add2(a, b) {
return a + b;
}
add3(a, b) {
return a + b;
}
}
//传统方式
!function(){
const _handler = Math.prototype.add2;
Math.prototype.add2 = function(){
console.log(arguments);
_handler.apply(this,arguments);
};
}();
const math = new Math();
math.add(1, 2);
math.add2(1, 2);
最后
以上就是震动面包最近收集整理的关于@descriptor的全部内容,更多相关@descriptor内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复