TypeScript学习日志-第二十三天(装饰器Decorator)

装饰器Decorator

一、类装饰器 ClassDecorator

其中返回的 targetHttp 的构造函数,有了构造函数就不会去破坏其自身原有的结构,当我们 Http 里面有多个属性或者方法的,当是我们不想看或者改变它,这时候可以在构造函数中增加即可,如图:

这时候我们就看到结果 打印出的 小明 了

二、装饰器工厂

当我们需要传一些参数进去的时候,这时候的装饰器要怎么弄呢,这时候就要用装饰器工厂,可以叫函数柯里化,如图:

这时候 我们打印出来的 还是 小明 

三、方法装饰器 MethodDecorator PropertyDescriptor

当我们想要简化一下方法 也可以使用方法装饰器,如图:

这时候 我们就能直接拿到 Get 请求的 数据了 

四、参数装饰器 ParameterDecorator

参数装饰器需要下载一个第三方库 reflect-metadata,使用如下:

这时候打印出来的结果 还是一样的 只是少了最外层 当然 如果需要不止少一层就根据需求来进行修改

五、属性装饰器 PropertyDecorator

使用较少,如图:

 这时候就能看到打印的 key 就是 name

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/834052.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Ubuntu18.04 安装 anconda

anaconda官网 bash Anaconda3-2021.11-Linux-x86_64.sh一直回车,输入yes 选择安装目录 是否希望更新shell配置文件以自动初始化conda

组合数学汇总

阶乘、排列、组合 阶乘 x ! Π i : 1 x i x! \Pi_{i:1}^xi x!Πi:1x​i 。特殊情况0的阶乘是1。 排列 排列 P n m P_n^m Pnm​,从n个不同元素中取出m(m≤n)个元素,按照一定的顺序排成一列。第一个元素有n种选择,第…

AR人脸美妆SDK解决方案,让妆容更加贴合个人风格

美妆行业正迎来前所未有的变革,为满足企业对高效、精准、创新的美妆技术需求,美摄科技倾力打造了一款企业级AR人脸美妆SDK解决方案,为企业打开美妆领域的新世界大门。 革命性的人脸美妆技术 美摄科技的AR人脸美妆SDK解决方案,不…

TS学习-抽象类和静态成员

目录 1,抽象类1,为什么需要抽象类2,抽象成员3,设计模式-模板模式 2,静态成员1,什么是静态成员2,设计模式-单例模式 1,抽象类 1,为什么需要抽象类 有时,某个…

IDEA设置 | 个性化设置

文章目录 IDEA设置总结IDEA自动生成序列化ID IDEA设置总结 本篇博客将专注于整理IDEA新UI界面的相关设置 IDEA自动生成序列化ID CtrlAltS快捷键打开设置界面 选择Editor→Inspections→JVM languages→Test frameworks,勾选上Serializable class without serialVe…

Android中Fragment失去焦点的场景

在Android开发中,Fragment的生命周期方法onPause()会在以下几种情况下被调用: 当Fragment所在的Activity开始与其他Activity进行交互时,例如按下Home键或其他Activity获得焦点,导致当前Activity失去焦点,从而使得所有关…

SpringCloud微服务之Eureka、Ribbon、Nacos详解

SpringCloud微服务之Eureka、Ribbon、Nacos详解 1、认识微服务1.1、单体架构1.2、分布式架构1.3、微服务1.4、SpringCloud 2、服务拆分与远程调用2.1、服务拆分的原则2.2、服务拆分示例2.2、提供者与消费者 3、Eureka注册中心3.1、Eureka的结构和作用3.2、搭建eureka-server3.2…

学习Uni-app开发小程序Day4

今天是学习的第四天,老师的视频开始穿插讲解vue的知识,对身为小白的我还是很友好的。vue3的模版语法插值表达式 在根据视频学习的过程中,也对vue有一个回顾,但是出现一种情况,在script中声名一个值,在templ…

《构建高效审批系统:架构设计与实践》

在现代企业管理中,审批系统扮演着至关重要的角色,它不仅能够规范业务流程,提高工作效率,还能够增强企业的管理控制力和信息化水平。本文将探讨如何设计和构建一套高效的审批系统架构,以满足企业日常审批需求&#xff0…

知识付费_专业搭建知识变现平台_支持多种内容创作形式,网校平台的开发需要注意什么?有哪些误解?

每种产品的用户人群都不同,定位自然也不同,教育机构开发在线网校系统软件之前,首先我们确定要定位,明确您的用户人群,这样才能够帮助我们更好更快的将在线网校系统制作开发出来,也能够对后续的运营带来极大…

docker-compose部署gitlab

需要提前安装docker和docker-compose环境 参考:部署docker-ce_安装部署docker-ce-CSDN博客 参考:docker-compose部署_docker compose部署本地tar-CSDN博客 创建gitlab的数据存放目录 mkdir /opt/gitlab && cd mkdir /opt/gitlab mkdir {conf…

纹理映射技术在AI去衣应用中的关键作用

引言: 随着人工智能技术的飞速发展,其在图像处理领域中的应用也日益广泛。AI去衣,作为一种颇具争议的技术应用,指的是利用深度学习算法自动移除或替换图片中的衣物。在这一过程中,纹理映射技术扮演了不可或缺的角色。本…

初识指针(3)<C语言>

前言 前面两篇文章已经介绍了一些关于指针的基础知识,下面我们可以涉及一些指针较容易混淆的概念,本篇文章将介绍数组名的理解、指针输入打印数组的不同格式、一维数组传参的本质,冒泡排序,二级指针,指针数组等。 数组…

学SQL啦

3 SQL 3.1 SQL查询语言 新手学习网址:https://sqlzoo.net/wiki/SQL_Tutorial SQL查询语句语法结构和运行顺序 语法结构:select--from--where--group by--having--order by--limit运行顺序:from--where--group by--having--order by--limit-…

每日面试题

Java高级面试问题及答案 1. 请解释Java中的原子操作和原子类,以及它们是如何保证操作的原子性的? 答案: 在Java中,原子操作指的是不可中断的一个或一系列操作。即使在多线程环境中,这些操作也能够确保在没有同步机制…

关于verilog不能处理数组端口的解决方法

Verilog语言目前并不支持数组型端口,这不利于一些信号的管理。虽然System Veilog支持这样的定义,但是如果是芯片开发,就不得不用Verilog开发了。 即在Verilog中,不支持如下的端口定义: module divider_common# (param…

十二届蓝桥杯Python组1月中/高级试题 第一题

** 十二届蓝桥杯Python组1月中/高级试题 第一题 第一题(难度系数2,18 个计分点) 编程实现: 输入一个字符串,输出这个字符串的最后一个字符。 输入描述:输入一个字符串 输出描述:输出这个字符串…

预编码算法介绍及优缺点

预编码算法介绍 介绍优缺点 介绍 预编码算法是一种用于无线通信系统中的技术,其基本思想是通过矩阵运算将经过调制的符号信息流和信道状态信息进行有机结合,变换成适合当前信道的数据流,再通过天线发送出去。这种技术的主要目的是在发送端对…

短视频批量下载解决方案分享

对于作短视频运营的行业人员,获取对应的视频资源和素材是必不可少的。 所以需要一个批量搜索视频并且下载的工具非常重要 一:行业痛点: 1:只能通过单链接进行下载 2:不能通过关键词批量下载 3:无法获取…

【Ubuntu20.04安装java-8-openjdk】

1 下载 官网下载链接: https://www.oracle.com/java/technologies/downloads/#java8 下载 最后一行 jdk-8u411-linux-x64.tar.gz,并解压: tar -zxvf jdk-8u411-linux-x64.tar.gz2 环境配置 1、打开~/.bashrc文件 sudo gedit ~/.bashrc2、…