![]() |
1
2
看起来您实际上想要的是支持现有或缺失参数的任何组合,并使用简单的默认值。有3个参数,有8个开/关组合。因此,虽然TypeScript支持重载,但为了类型安全写出8个重载并不理想。 但使用命名参数(而不是位置参数)将简化实现。可以轻松添加更多参数,而无需编写指数级的重载。
|
![]() |
2
2
在typescript中,您可以为一个方法/构造函数指定多个签名,但只能指定一个实现。由实现来确定调用了哪个重载。 在您的情况下,它可能看起来像这样:
注: 实现签名对外部世界隐藏(即,在寻找合适的构造函数时,不考虑对其进行解析)。这就是为什么我们有两次空构造函数签名,一次用于公共消费,一次作为实现签名。 |
![]() |
Magician · 命名空间上的Typescript概念 7 年前 |
![]() |
Vignesh · PrimeNG TurboTable性能问题 7 年前 |
![]() |
Arjan · 问号Typescript变量 7 年前 |
![]() |
Jordi · Typescript:重载级联式构造函数 7 年前 |
![]() |
Christoph Glaß · 导出角度模块中的枚举 7 年前 |
![]() |
AbdulKareem · 基于传递的字符串参数约束返回的对象属性 7 年前 |
![]() |
jbmilgrom · 函数中缺少参数作为参数不会引发编译器错误 7 年前 |