ts用法?

一、基本使用
1、interface 接口用来声明一个注解
	interface Person {
	    firstName: string;
	    lastName: string;
	}
2、枚举类型【enum】
	const dianji =()=>{
	    enum Status {
	        Red = '结婚了',
	        Blue = '没结婚',
	        Pink = '离婚了',
	    }
	    let a: Status = Status.Red
	    let b: Status = Status.Blue
	    let c: Status = Status.Pink
	    console.log(a)
	    console.log(b)
	    console.log(c)
	}

二、装饰器 【两种写法:普通写法(无法传参)、工厂写法(可以传参)】
	1、类装饰器
			function logClass(params:string) {
			    return function(target:any){   
			        console.log(params) //传入的参数
			        console.log(target) //类对象本身
			    }
			}
			@logClass('参数')
			class HttpClict {
			  constructor() {
			  }
			    getData(){
			        console.log(111)
			    }
			}
	2、属性装饰器
			function logClass(params:string) {
			    return function(target:any,attr:any){   
			        console.log(params) //传入的参数
			        console.log(target) //实例化对象
			        console.log(attr) //传入的属性名
			    }
			}
			class HttpClict {
			    @logClass('参数')
			    username:string='我的名字'
			  constructor() {
			  }
			    getData(){
			        console.log(111)
			    }
			}
	3、方法装饰器
			function logClass(params:string) {
			    return function(target:any,methodName:any,desc:any){   
			        console.log(params) //传入的参数
			        console.log(target) //实例化对象
			        console.log(methodName) //方法名字
			        console.log(desc.value) //真正的方法
			    }
			}
			class HttpClict {
			  constructor() {
			  }
			    @logClass('参数')
			    getData(){
			        console.log(111)
			    }
			}
	4、参数装饰器
		function logClass(params:string) {
		    return function(target:any,methodName:any,paramsIndex:any){
		         console.log(target)    //构造函数
		         console.log(methodName)      //方法名称
		         console.log(paramsIndex)      //方法描述
		         console.log(params)    //传入参数
		     }
		}
		class HttpClict {
		  constructor() {
		  }
		    getData(@logClass('小罗') uuid:any):void{
		        console.log(uuid)
		    }
		}
		let f:any = new HttpClict()
		f.getData(50)




















  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值