概述
装饰器是TypeScript中的一个实验性特性,用于扩展类和方法的功能。
装饰器可以用于:
- 类
- 方法
- 属性
- 参数
类装饰器
typescript
加载中...
方法装饰器
方法装饰器
方法装饰器可以用于修改方法的行为:
function Log(target: any, propertyKey: string, descriptor: PropertyDescriptor) {
const originalMethod = descriptor.value;
descriptor.value = function (...args: any[]) {
console.log(`Calling ${propertyKey} with args: `, args);
const result = originalMethod.apply(this, args);
console.log(`${propertyKey} returned: `, result);
return result;
};
return descriptor;
}
class Calculator {
@Log
add(x: number, y: number): number {
return x + y;
}
}
实验性特性
实验性特性
装饰器是TypeScript的实验性特性,需要在tsconfig.json中启用:
{
"compilerOptions": {
"experimentalDecorators": true
}
}
注意:装饰器语法可能会在未来版本中发生变化。