首页 > 其他分享 >小满nestjs(第三章 前置知识装饰器)

小满nestjs(第三章 前置知识装饰器)

时间:2023-01-17 14:32:50浏览次数:42  
标签:string any 前置 小满 name nestjs key 装饰 target


1、什么是装饰器

装饰器是一种特殊的类型声明,他可以附加在类,方法,属性,参数上面

装饰器写法 tips(需要开启一项配置)

小满nestjs(第三章 前置知识装饰器)_javascript

类装饰器 主要是通过@符号添加装饰器

他会自动把class的构造函数传入到装饰器的第一个参数 target

然后通过prototype可以自定义添加属性和方法

function decotators (target:any) {
target.prototype.name = '小满'
}

@decotators

class Xiaoman {

constructor () {

}

}

const xiaoman:any = new Xiaoman()

console.log(xiaoman.name)

属性装饰器

同样使用@符号给属性添加装饰器

他会返回两个参数

1.原形对象

2.属性的名称

const currency: PropertyDecorator = (target: any, key: string | symbol) => {
console.log(target, key)
}


class Xiaoman {
@currency
public name: string
constructor() {
this.name = ''
}
getName() {
return this.name
}
}

小满nestjs(第三章 前置知识装饰器)_构造函数_02

 参数装饰器

同样使用@符号给属性添加装饰器

他会返回两个参数

1.原形对象

2.方法的名称

3.参数的位置从0开始

const currency: ParameterDecorator = (target: any, key: string | symbol,index:number) => {
console.log(target, key,index)
}


class Xiaoman {
public name: string
constructor() {
this.name = ''
}
getName(name:string,@currency age:number) {
return this.name
}
}

小满nestjs(第三章 前置知识装饰器)_前端_03

方法装饰器 

同样使用@符号给属性添加装饰器

他会返回两个参数

1.原形对象

2.方法的名称

3.属性描述符  可写对应writable,可枚举对应enumerable,可配置对应configurable

小满nestjs(第三章 前置知识装饰器)_构造函数_04

const currency: MethodDecorator = (target: any, key: string | symbol,descriptor:any) => {
console.log(target, key,descriptor)
}


class Xiaoman {
public name: string
constructor() {
this.name = ''
}
@currency
getName(name:string,age:number) {
return this.name
}
}

标签:string,any,前置,小满,name,nestjs,key,装饰,target
From: https://blog.51cto.com/u_13463935/6017264

相关文章

  • 小满Vue3第三十八章(函数式编程,h函数)
    之前跟大家介绍了两种vue编写风格分别是template模板方式,和JSX方式感觉JSX被大家吐槽的很厉害,其实用习惯还挺好用的今天介绍第三种函数式编程主要会用到h函数​​h​​ 接......
  • 小满Linux(第十章Nginx-Go-Access-日志分析器)
    将我们的Linux服务器设置为中文版$localectlset-localeLANG=zh_CN.UTF8重启服务器即可GoAccess是一款开源、实时,运行在命令行终端下的web日志分析工具。该工具提供快速......
  • NestJS 后台管理系统搭建、TypeOrm使用(一)
    前言技术千千万,学习永不断;虽然是咸鱼,也想努把力!!!这段时间一直很迷茫,做前端这行也有6年了,眼看马上奔三的人了,但依旧是个菜逼,整天代码写了不少,但总感觉缺少些什么,一直都没......
  • 5. Pytest自定义前置后置:fixture参数详解(了解)
    一、前言我们上节课讲到fixture自定义前置函数的时候,有5个非必填参数,scope,params,autouse,ids,name。一般情况下这五个参数我们在工作中都不常用,但是个别情况会用到,这节......
  • 4. Pytest自定义前置后置:fixture简单应用
    一、前言前面讲到用例加setup和teardown可以实现在测试用例之前或之后加入一些操作,但这种是整个脚本全局生效的,如果我想实现指定某一个执行前置,另一个不执行前置,则需......
  • Windows11华硕主板台式机前置耳机孔没有声音
    1确定自己主板前置耳机的线没有插错,检查一下连接没有问题2确定自己安装的声卡是Realtek声卡,在控制面板中,在硬件和声音中找到“Realtek高清晰音频管理器”。3找到Real......
  • [VueJsDev] 其他知识 - NestJS 学习内容
    [VueJsDev]目录列表https://www.cnblogs.com/pengchenggang/p/17037320.htmlNestJS学习内容NestJS学习总结Step.1:全局安装包pnpmadd-g@nestjs/clinodemon......
  • pytest--前置后置执行
    前言在unittest中就有前置setup和后置teardown来处理测试用例执行前的准备工作(浏览器驱动实例化,数据库连接等)以及执行后的处理工作(清理数据,关闭浏览器驱动,关闭数据库连接......
  • CDH安装前置准备
    温馨提示:要看高清无码套图,请使用手机打开并单击图片放大查看。1.文档编写目的每次安装CDH集群时都需要做很多前置条件准备,以确保安装成功以及运行主机检查时能顺利通过。本......
  • 算法之SPFA的前置:Bellman-Ford算法
    SPFA我们都知道一个叫SPFA的算法,它是用来计算单源最短路径的,但是,众所周知它不是很稳定,容易退化。SPFA是基于什么被提出的?基于一个叫做Bellman-Ford的算法。Bellman-For......