Typescript interface 和 type 的区别

学习学习学习!!!!!

首先,interface只能表示function,object和class类型,type除了这些类型还可以表示其他类型,例如

1
2
3
4
5
6
7
8
interface A{name:string;
add:()=>void;
}
interface B{():void}

type C=()=>number;
type D=string;
type E={name:string,age:number}

interface可以合并同名接口,type不可以

1
2
3
interface A{name:string}
interface A{age:number}
var x:A={name:'xx',age:20}

interface可以继承interface,继承type,使用extends关键字,type也可继承type,也可继承interface,使用&

1
2
3
4
5
6
7
8
9
10
interface A{name:string}
interface B extends A{age:number}

type C={sex:string}

interface D extends C{name:string}

type E={name:string}&C

type F ={age:number}&A

还有类可以实现接口,也可以实现type

1
2
3
4
5
6
7
8
9
10
11
12
interface A{name:string;add:()=>void}
type B={age:number,add:()=>void}

class C implements A{
name:'xx'
add(){console.log('类实现接口')}
}

class D implements B{
age:20
add(){console.log('类实现type')}
}
-------------本文结束 感谢您的阅读-------------