TypeScript-参数装饰器

简介: TypeScript-参数装饰器

前言


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

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


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


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




参数装饰器


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

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


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

实例成员:

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 {
    }
}


静态成员:

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) {
    }
}



无案例🐤




其它题外话


属性装饰器, 参数装饰器最常见的应用场景就是配合 元数据(reflect-metadata)在不改变原有结构的同时添加一些额外的信息 但是元数据目前也是在提案中, 也还没有纳入正式的标准 所以对于装饰器而言, 我们只需要了解即可 因为提案中的所有内容将来都是有可能被修改的 因为提案中的所有内容目前都有兼容性的问题最后

本期结束咱们下次再见👋~


🌊 关注我不迷路,如果本篇文章对你有所帮助,或者你有什么疑问,欢迎在评论区留言,我一般看到都会回复的。大家点赞支持一下哟~ 💗

相关文章
|
6月前
|
JavaScript 前端开发 数据安全/隐私保护
TypeScript中装饰器的概念与使用场景
【4月更文挑战第23天】TypeScript的装饰器是特殊声明,用于附加到类的声明、方法、属性或参数,以修改行为。它们以`@expression`形式,其中`expression`是运行时调用的函数。装饰器应用场景包括:日志记录、调试、依赖注入、权限控制和AOP。通过装饰器,可以实现动态行为修改,如添加日志、注入依赖、控制权限以及事务管理。然而,应谨慎使用,避免过度复杂化代码。装饰器在现代 TypeScript 开发中扮演重要角色,帮助编写更健壮、可维护的代码。
|
6月前
|
JavaScript 前端开发 编译器
TypeScript 类 第二章 【参数属性,存取器,静态属性】
TypeScript 类 第二章 【参数属性,存取器,静态属性】
66 2
|
JavaScript 安全 数据安全/隐私保护
TypeScript-属性装饰器
TypeScript-属性装饰器
58 0
|
6月前
|
存储 JavaScript 前端开发
TypeScript 5.2 beta 浅析:新的关键字 using 与新版装饰器元数据
TypeScript 5.2 beta 浅析:新的关键字 using 与新版装饰器元数据
109 0
TypeScript-方法装饰器
TypeScript-方法装饰器
40 0
|
2月前
|
JavaScript
typeScript基础(3)_ts函数默认值和可选参数
本文介绍了在TypeScript中如何使用函数的默认值和可选参数。展示了如何为函数参数指定默认值,使得在调用函数时可以省略某些参数,以及如何定义可选参数。
154 2
|
4月前
|
JavaScript 前端开发 索引
TypeScript(八)装饰器
TypeScript(八)装饰器
31 0
|
5月前
|
JavaScript 监控 编译器
29.【TypeScript 教程】装饰器(Decorator)
29.【TypeScript 教程】装饰器(Decorator)
48 0
|
6月前
|
缓存 JavaScript 前端开发
【TypeScript技术专栏】TypeScript中的装饰器与元编程
【4月更文挑战第30天】TypeScript的装饰器是元编程工具,用于修改类、方法等行为。它们允许实现日志、权限控制、缓存等功能,支持类装饰器、方法装饰器等多种类型。装饰器借助JavaScript的Proxy和Reflection API实现,但过度使用可能造成复杂性。正确运用能提升代码质量,但需注意类型安全和维护性。
96 0
|
6月前
react+typescript装饰器写法报错的解决办法
react+typescript装饰器写法报错的解决办法
85 1