TS装饰器
一、定义
装饰器本质是一种函数,通过添加标注的方式,对数据(类,方法,属性,参数等)的功能进行增加或者修改。
二、使用
准备工作:ts.config.json文件中
1.基础使用,@装饰器名字
例子:
function test(target:any){ //定义装饰器函数
target.a = 100
}
@test //使用装饰器
class Person() //在@装饰器下边,紧挨着定义一个类
console.log(Person.a) //100,由于Person类被test装饰器作用,所以拥有装饰器内的属性
2.装饰器传参
例子:
//定义可以接受用户参数的装饰器函数,这种内部必须返回一个函数,用来接受类,进行装饰器增强
3.方法装饰器(这里有点迷糊,等后边实践时候再完善吧)
方法装饰器函数会接收到三个参数,三个参数是规定好的
第一个参数:target 对于静态成员来说是构造函数
对于实力成员来说是类的原型对象
第二个参数:自定义,成员名字
第三个参数:成员的属性描述符,不常用,选填