TypeScript 声明合并


作者:Seiya

时间:2019年08月02日


函数的合并


function reverse(x: number): number;
function reverse(x: string): string;
function reverse(x: number | string): number | string {
	if (typeof x === 'number') {
		return Number(x.toString().split('').reverse().join(''));
	} else if (typeof x === 'string') {
		return x.split('').reverse().join('');
	}
}



接口的合并


接口中的属性在合并时会简单的合并到一个接口中:

interface Alarm {
	price: number;
}
interface Alarm {
	weight: number;
}

等价于:

interface Alarm {
	price: number;
	weight: number;
}

注意:

合并的属性的类型必须是唯一的。


接口中方法的合并,与函数的合并一样:

interface Alarm {
	price: number;
	alert(s: string): string;
}
interface Alarm {
	weight: number;
	alert(s: string, n: number): string;
}

相当于:

interface Alarm {
	price: number;
	weight: number;
	alert(s: string): string;
	alert(s: string, n: number): string;
}

tips

类的合并和接口的合并规则一致。

最后更新时间: 2019-8-2 16:38:37