课程名称: 晋级TypeScript高手,成为抢手的前端开发人才
课程章节: 10-12 【泛型工厂类匿名类+继承装饰器】匿名类在装饰器中的实现
课程讲师: keviny79
课程内容:
匿名类在装饰器中的实现:
function ClassFunctionExtends<T extends { new(...args: any[]): any }> (mytargetClass: T) {
console.log("mytargetClass", mytargetClass);
// 匿名类就是可以直接不写类名称,直接返回
// 匿名类
return class extends mytargetClass {
constructor(...args: any[]) {
super(args);
console.log("SonClass执行结束");
}
}
}
@ClassFunctionExtends
class Test {
name!: string;
age!: number
// 1.先执行原来构造函数
constructor(name: string) {
this.name = name;
console.log("执行");
//console.log("beforendame:", this.name)// lisi
}
eat() {
console.log(this.name, "吃饭");
}
}
在装饰器中 类 可以不写名称,直接返回类,这在 ts 中是支持。
但在底层源码中会自动生成类名
课程收获:
明白在装饰器中 类 可以不写名称,直接返回