如果定义了两个相同名字的函数、接口或类,那么它们会合并成一个类型
最简单也最常见的声明合并。合并的机制是把双方的成员放到一个同名的接口里
interface Box{
height: number;
width: number;
}
interface Box{
scale: number;
}
let box: Box = {height: 5, width: 6, scale: 10};-
接口的非函数成员应该是唯一的,如果它们不是唯一的,那么它们必须是相同的类型。否则编译器报错。
-
对于函数成员,每个同名函数声明都会被当成这个函数的一个重载。同时需要注意,当接口A与后来的接口A合并时,后面的接口具有更高的优先级。
-
合并的接口中,后来的接口声明会出现在靠前的位置。
-
如果签名里有一个参数的类型是 单一 的字符串字面量,那么它将会被提升到重载列表的最顶端。
稍候再说