type 和 interface 区别?

 

type 用于描述一个对象类型。

特点:

  1、不能重复 type

  2、继承通过 & 

  3、支持 类型别名,联合类型,元组等类型

 

interface 接口用来定义一个类的结构,定义类的属性 和 方法。 同时接口也可以当成类型声明去使用。

特点:

  1、可以重复声明。

  2、接口中的属性都不能定义具体的值,方法都是抽象方法(无方法体)。接口只定义结构。

  3、继承通过 extends

  4、不支持 类型别名,联合类型,元组等类型

 

——————————————————————————————————————————————

 

TS 中的类

  TS 可以在属性前添加属性修饰符。

 

    public     修饰的属性可以在任意位置访问(修改)默认值。

    private     私有属性,私有属性只能在类内部进行访问(修改),通过在类中添加方法使得私有属性可以被外部访问。

 

 

——————————————————————————————————————————————

 

在定义函数或类时。如果遇到类型不明确时。就可以使用泛性 。

语法:

  <任意>

function fn<T>(a: T): T{
    return a
}



//可以直接调用 具有泛型的  函数。

fn(10)   //-------->  不指定泛型,TS 可以自动对类型进行 推断。

fn<string>('swt')  //-------->  指定泛型。


//__________________________________________________


function fn2<T, K>(a: T, b: K): T{
    return a + b
}

fn2<number, string>(123,'swt')

//__________________________________________________

interface Inter{
    length: number
}

function fn3<T extends Inter>(a: T): number{
    return a 
}

fn3(123456)

fn3({
    length:1000
})

  

 

posted @ 2022-03-20 23:58  Action_swt  阅读(914)  评论(0编辑  收藏  举报