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 })