MST

星途 面试题库

面试题:TypeScript装饰器在类方法上的应用

请编写一个TypeScript装饰器,用于在类的方法执行前打印一条日志信息,说明该方法即将执行。例如,对于一个名为`greet`的类方法,在调用`greet`方法前,控制台应打印 '即将执行greet方法'。
41.7万 热度难度
前端开发TypeScript

知识考点

AI 面试

面试题答案

一键面试
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();