装饰器
定义:
装饰器是一中特殊类型的声明,它能够被附加到类,方法,访问器,属性或参数上,用@添加
装饰器本质上还是一个函数,在别的语言中已广泛使用,如: python,但在TS中依旧为一个测试中的版本,若要启用实验性的装饰器特性,你必须在命令行或tsconfig.json里启用experimenta1Decorators编译器选项:
添加到类上,类装饰器
添加到方法上,方法装饰器
添加到访问器上,访问器装饰器
添加到属性上,属性装饰器
添加到参数上,参数装饰器
下面这个函数,就可以作为装饰器使用:
function setProp(tartget){
//...
}
@setProp
先定义一个函数,然后这个函数有一个参数,就是要装饰的目标,装饰的作用不同,这个target代表的东西也不同。定义了这个函数之后,它就可以作为装饰器,使用@函数名的形式,写在要装饰的内容前面。
fiInction addAge(constructor: Function) {
constructor.prototype.age = 18;
}
@addAge
class Personf{
name: string;
age: number;
constructorO(){
this.name='xixiao';
}
}
let person = new Person();
consol.log(peroson);//18