概述

  1. 装饰器的类型分类:
    查看答案

    类装饰器, 属性装饰器, 方法装饰器, 参数装饰器.

代码示例

+ 代码示例
类装饰器
方法装饰器
属性装饰器
参数装饰器
// 类装饰器在类声明之前被声明.
// @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"