// 定义装饰器
function aopAspect(target: any, propertyKey: string, descriptor: PropertyDescriptor) {
const originalMethod = descriptor.value;
descriptor.value = function(...args: any[]) {
console.log('Before function execution');
const result = originalMethod.apply(this, args);
console.log('After function execution');
return result;
};
return descriptor;
}
class ExampleClass {
@aopAspect
exampleFunction() {
console.log('Inside the function');
}
}
const example = new ExampleClass();
example.exampleFunction();