03_装饰器

简介: 03_装饰器

这里的装饰器直接上代码了,如果是零基础请看TypeScript笔记中的“装饰器”章节

// 普通类装饰器(不可传参)
const doc: ClassDecorator = (target: any) => {
  console.log(target)
}
@doc
class Xiaoman {
  constructor() {}
}
// 类工厂装饰器(可自由传参)
const docs = (str: string): ClassDecorator => {
  return (target: any): void => {
    console.log(str)
  }
}
@docs('这是一段字符串')
class XiaomanFactory {
  constructor() {}
}
// 属性装饰器(返回构造函数和属性名)
const props: PropertyDecorator = (target: any, key: string | symbol) => {
  console.log(target, key)
}
class XiaomanProperty {
  @props
  public name: string
  constructor() {
    this.name = '小满'
  }
}
// 方法装饰器(返回构造函数、方法名和方法定义)
const method:MethodDecorator = (target: any, propertyKey: string | symbol,descriptor:any) => {
  console.log(target,propertyKey,descriptor);
}
class XiaomanMethod {
  constructor(){}
  @method
  getName(){}
}
// 参数装饰器(返回构造函数、参数名和参数所在位置(从前往后递减))
const param:ParameterDecorator = (target:any,propertyKey: string | symbol,parameterIndex: number) => {
  console.log(target,propertyKey,parameterIndex)
}
class XiaomanParams {
  constructor(){}
  myMethod(@param data:any,@param key:any){}
}
// 装饰器底层实现
class CustomXiaoman {
  constructor(){}
}
const custom = (target:any) => {
  console.log(target)
}
custom(CustomXiaoman)
目录
相关文章
|
存储 安全 Windows
徒手帮 process explorer 找回丢失的进程列
徒手帮 process explorer 找回丢失的进程列
|
9月前
|
Web App开发 JavaScript 前端开发
如何减少重排次数?
如何减少重排次数?
433 137
|
JavaScript
vue3:vue3.2升级至vue3.3/vue升级版本
vue3:vue3.2升级至vue3.3/vue升级版本
1485 0
|
人工智能 数据可视化 程序员
程序员必收藏!Github 167000+ star 的自主AI agent,全自动AI助手,全面覆盖开发效率场景
AutoGPT 是基于 GPT-4 的开源自主 AI 智能代理,全面覆盖开发效率场景。支持任务自动拆解、多轮反馈、插件扩展与记忆管理,具备持续执行能力,适合自动化测试、CI/CD、Web 数据抓取等任务。GitHub 超 176K Star,是当前最热门的 AI Agent 开源项目之一,提供 CLI 与 GUI 双界面,助力开发者提升工作效率。
1702 1
|
10月前
|
JSON 监控 测试技术
亚马逊:调用订单退款API自动化处理售后请求,缩短用户等待时间
在电商运营中,售后效率直接影响用户体验与平台声誉。亚马逊订单退款API为卖家提供自动化工具,通过编程方式高效处理退款请求,显著缩短用户等待时间。本文详解如何集成该API,实现退款流程自动化,提升响应速度与用户满意度。
|
安全 搜索推荐 网络安全
一文详解:HTTPS有哪些优势?
HTTP协议的明文传输存在安全隐患,尤其在涉及敏感信息(如银行卡号、密码)时,数据易被截获。为解决这一问题,HTTPS协议应运而生。HTTPS在HTTP基础上加入SSL/TLS加密层,确保数据传输的安全性和完整性,防止中间人攻击。使用HTTPS不仅能保护用户隐私,还能提升网站的信任度和搜索引擎排名,增加在线交易量,帮助企业防钓鱼、提升流量与收益。随着网络安全形势日益严峻,企业应积极采用HTTPS,保障数据安全,促进良性发展。
|
存储 固态存储 Java
文件系统使用固态硬盘(SSD)
【10月更文挑战第8天】
710 2
|
数据采集 自然语言处理 数据可视化
优秀python系统案例】基于python Flask的电影票房数据爬取与可视化系统的设计与实现
本文介绍了一个基于Python Flask框架开发的电影票房数据爬取与可视化系统,该系统利用网络爬虫技术从豆瓣电影网站抓取数据,通过Python进行数据处理和分析,并采用ECharts等库实现数据的可视化展示,为电影行业从业者提供决策支持。
1992 2
优秀python系统案例】基于python Flask的电影票房数据爬取与可视化系统的设计与实现
|
SQL 自然语言处理 数据建模
阿里云百炼|析言GBI在中国一汽上线,大模型技术融入数智化转型
中国一汽自2022年起启动数智化转型,针对传统BI系统的局限性,如报表生成慢及数据处理不灵活等问题,与阿里云合作开发GPT-BI(阿里云百炼|析言GB)。该应用基于通义千问大模型,支持自然语言查询,自动产生分析图表,覆盖九大决策场景,准确率达92.5%。显著提高了决策效率与数据治理水平,引领汽车行业数智化转型新趋势。
1580 8