//JSRUN引擎2.0,支持多达30种语言在线运行,全仿真在线交互输入输出。
function log(target, name, descriptor) {
// console.log(descriptor.value) // buy 函数
const oldValue = descriptor.value // 暂存 buy 函数
// “装饰” buy 函数
descriptor.value = function(param) {
console.log(`Calling ${name} with`, param) // 打印日志
return oldValue.call(this, param) // 执行原来的 buy 函数
};
return descriptor
}
class Seller {
// @log
public buy_(num: number):void {
console.log('do buy', num)
}
}
// const s = new Seller()
// s.buy_(100)