装饰器(Decorators)是 TypeScript 引入的一种元编程语法,它可以在编译时或运行时修改类、属性、方法和参数的行为。装饰器提供了一种声明式语法来对类成员进行元编程,增强了 TypeScript 的表现力和灵活性。
@decorator
class MyClass {
@decorator
myMethod(@decorator parameter) {
}
}
function sealed(constructor: Function) {
Object.seal(constructor);
Object.seal(constructor.prototype);
}
@sealed
class BankAccount {
balance: number;
deposit(amount: number) {
this.balance += amount;
}
}
let account = new BankAccount();
account.balance = 0;
account.deposit(100);
account.balance = -10; // Error: Cannot add or remove sealed properties
总之,装饰器是 TypeScript 中一个非常强大的元编程特性,它允许开发者以声明式的方式扩展和修改代码的行为。通过合理使用装饰器,开发者可以编写出更加灵活、可测试和可维护的代码。