ts知识点记录

1.interface接口

interface Idata {
	key:string,
	value:string|number
}
interface Iobj{
	name:string
	age?: number // 可选参数
	data: Idata
	[propName:string]?:any // 一些可能会有的额外的参数
}
const obj:Iobj={
	name: ''
}

2.implements 类限制

interface Idata {
	name: string
}
class Data implements Idata {
	name:string // name必须要有,因为受到Idata接口的约束
}

// 如果要有多个约束,则以逗号进行分割 implements Idata,Idatas,...

3.装饰器


/**
target---class Person类
attr---- age属性
*/
const fn:Function =(name: string) =>{
    return (target:any=> {
    target.prototype.name = name
   }
    
}
const agefn: Function(target: any, attr: string) => {
    
}
@fn('lisi') ---- 装饰器工厂
class Person {
    @agefn  --- 装饰器(属性装饰器)
    age:number
    constructor() {

    },
    @addMethod --- 装饰器(方法装饰器)
    add(){}
}
// 注意:执行顺序是,先从上到下找到所有的装饰器工厂,执行其内部代码,并收集内部的装饰器函数,然后在从下到上执行装饰器函数

4.抽象类

// Person(抽象类)--- 此类可以被继承,但不能被实例化出来
abstract class Person { 
	......
} 
class Student extends Preson {
	super()
}
  • 7
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值