TS:装饰器

本文详细介绍了TypeScript中的装饰器,包括定义、几种模式(如普通模式、工厂模式和重载构造函数)、装饰器类型(类装饰器、属性装饰器、方法装饰器、方法参数装饰器和访问器装饰器)以及它们的使用场景和执行顺序。装饰器可用于监听属性改变、方法调用、参数转换、类型检查和依赖注入等,通过它们可以实现Before和After钩子等功能。
摘要由CSDN通过智能技术生成

TS:装饰器

一、定义

  • 是一种特殊类型的声明,它能够被附加到类、方法、访问符、属性或参数上。

二、几种模式(以类装饰器为例)

1.普通模式

/**
	@target : 当前对象原型
**/
function logClass(target : any) {
   
    target.prototype.myAttr = '动态扩展的属性';
    target.prototype.myFunc = () => {
   
        console.log('动态扩展的方法');
    }
}

@logClass
class Foo{
   
	constructor(){
   }
}

let foo : Foo = new Foo();
console.log(foo.myAttr); // 动态扩展的属性
foo.myFunc();	// 动态扩展的方法

2.工厂模式

/**
	@params : 修改的属性的值
	@target : 当前对象原型
**/

function logClass(params : string) {
   
    return function(target : any){
   
        target.prototype.myAttr = params;
    }
}

@logClass('hello')
class Foo{
   
    myAttr : any;
    constructor(){
   }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值