面试题答案
一键面试function logBeforeExecution(target: any, propertyKey: string, descriptor: PropertyDescriptor) {
const originalMethod = descriptor.value;
descriptor.value = function (...args: any[]) {
console.log(`即将执行${propertyKey}方法`);
return originalMethod.apply(this, args);
};
return descriptor;
}
class Greeter {
@logBeforeExecution
greet() {
console.log('Hello!');
}
}
const greeter = new Greeter();
greeter.greet();