TypeScript装饰器
概述
- 装饰器的类型分类:
类装饰器, 属性装饰器, 方法装饰器, 参数装饰器.
代码示例
代码示例
类装饰器
方法装饰器
属性装饰器
参数装饰器
// 类装饰器在类声明之前被声明.
// @LogClass 是一个类装饰器, 它在类定义阶段(不是实例化阶段)被调用.
// 如果你创建一个实例,比如 new User(),不会再次触发装饰器函数.
function LogClass(constructor: Function) {
console.log(`Class ${constructor.name} was defined`);
}
@LogClass
class User {
constructor() {
console.log("User instance created");
}
}
// Output:
// [LOG]: "Class User was defined"