函数多个参数除了泛型外,可以使用重载进行关系约束,约束的是函数被调用时的传参。
TS的函数重载主要分为多个重载签名+实现签名+函数体。
函数体中还是要类型保护,甚至断言。
重载定义时,最后一个function(实现签名)不是重载(签名)列表中的一部分,其参数类型是重载列表中参数类型的联合类型(或any)。就是说实现签名只是在定义时起到了统领所有重载签名的作用,在执行调用时就看不到实现签名了。
重载列表匹配顺序是从上往下,最精确的列表应该放在最上面。
函数多个参数除了泛型外,可以使用重载进行关系约束,约束的是函数被调用时的传参。
TS的函数重载主要分为多个重载签名+实现签名+函数体。
函数体中还是要类型保护,甚至断言。
重载定义时,最后一个function(实现签名)不是重载(签名)列表中的一部分,其参数类型是重载列表中参数类型的联合类型(或any)。就是说实现签名只是在定义时起到了统领所有重载签名的作用,在执行调用时就看不到实现签名了。
重载列表匹配顺序是从上往下,最精确的列表应该放在最上面。