类型的检查机制
关键配置 strictFuntionTypes:false
接口兼容:
简单点就是成员少的会兼容成员多的
函数兼容:
- 参数个数的要求: 固定, 可选, 剩余不固定参数三种参数类型。 固定的可以兼容剩余两种; 可选的不兼容剩余两种; 不固定的兼容其余两种;
- 参数类型, 参数类型不同则直接不同;参数类型为对象的时候是参数多的兼容参数少的
- 返回值类型,成员少的兼容成员多的
- 类的兼容性。 只比较成员,构造函数和静态成员是不比较的; 如果函数含有私有成员则是不兼容的,但是父类和子类的成员是会互相兼容的
- 泛型的兼容性,只有类型参数被泛型成员使用是会影响其兼容性;泛型函数,定义相同未指定参数,则是相互兼容的
总结:
- 结构之间:成员少的兼容成员多的;
- 函数之间:参数多的兼容参数少的;