TypeScript-参数装饰器

2023-09-29 22:46:13 浏览数 (1)

前言

TypeScript的参数装饰器是一项强大的功能,它允许开发者在函数或方法的参数上应用装饰器函数,以自定义参数的行为和特性。与类装饰器一样,参数装饰器提供了更高级别的元编程能力,让您可以更精细地控制函数的输入参数。

参数装饰器的应用场景多种多样。一种常见的用途是参数验证和数据转换。通过在函数参数上应用装饰器,您可以检查参数是否符合特定的规范,或者将参数从一种格式转换为另一种格式,从而提高代码的可靠性和可维护性。这对于构建健壮的应用程序非常有帮助。

另一个常见的应用是依赖注入。参数装饰器可以用于将依赖项注入到函数或方法中,这在编写可测试和可扩展的代码时非常有用。

总之,TypeScript的参数装饰器为开发者提供了更多的控制权和灵活性,可以用于解决各种不同的问题,并提高了代码的可读性和可维护性。这个功能通常与其他装饰器一起使用,以实现更复杂的逻辑和功能。

参数装饰器

参数装饰器写在一个参数声明之前(紧靠着参数声明)

参数装饰器表达式会在运行时当作函数被调用,会自动传入下列 3 个参数:

  • 对于静态成员来说是当前的类,对于实例成员是当前实例
  • 参数所在的方法名称
  • 参数在参数列表中的索引

实例成员:

代码语言:typescript复制
function test(target: any, proptyName: string, index: number) {
    console.log(target);
    console.log(proptyName);
    console.log(index);
}

class Person {
    say(age: number, @test name: string): void {

    }
}
image-20211206143245696image-20211206143245696

静态成员:

代码语言:typescript复制
function test(target: any, proptyName: string, index: number) {
    console.log(target);
    console.log(proptyName);
    console.log(index);
}

class Person {
    say(age: number, name: string): void {

    }

    static hi(@test val: string) {

    }
}
image-20211206143446102image-20211206143446102

无案例

0 人点赞