type MyType = {
name: string;
say(): void;
}
interface MyInterface {
name: string;
say(): void;
}
interface:
interface MyInterface {
name: string;
say(): void;
}
interface MyInterface2 extends MyInterface {
age: number;
}
let value: MyInterface2 = {
name: 'BNTang',
age: 18,
say(): void {
}
}
type 利用一个 & 来实现扩展:
type MyType = {
name: string;
say(): void;
}
type MyType2 = MyType & {
age: number;
}
let value: MyType2 = {
name: 'BNTang',
age: 18,
say(): void {
}
}
不同点
- type 可以声明
基本类型 别名,联合类型 ,元组 等类型, interface 不能
type MyType1 = boolean;
type MyType2 = string | number;
type MyType3 = [string, boolean, number];
interface 的自动合并可查看 TypeScript 当中的 30.TypeScript-接口合并现象 这里就只演示 type 的不会自动合并的不同点:
type MyType = {
name: string
}
type MyType = {
age: number
}
|
请发表评论