装饰器是一种特殊的声明,可以应用于类、方法、访问器、属性或参数。装饰器只是以 @expression
符号为前缀的函数,其中表达式必须计算为一个函数,该函数将在运行时使用有关装饰声明的信息进行调用。
TypeScript 装饰器的目的是以声明的方式将注释和元数据添加到现有代码中。装饰器是为 ES7 提议的一个实验性特性。它已经被包括 Angular 2 在内的一些 JavaScript 框架使用。装饰器可能会在未来的版本中发生变化。
要启用对装饰器的实验性支持,需要在命令行或 tsconfig.json 中启用 experimentalDecorators 编译器选项:
命令行:
$tsc --target ES5 --experimentalDecorators
tsconfig.json
{
"compilerOptions": {
"target": "ES5",
"experimentalDecorators": true
}
}