![]() |
1
2
这不是一个bug。尾随参数较少的函数是 substitutable mentioned in the TypeScript FAQ . 理由大致是:JavaScript中的任何函数都可以用任意数量的参数来调用,让调用方向函数发送比预期更多的参数总是安全的;你只是忽视他们。就你而言,
有效,因为
第二种情况,
差不多就是这样。希望这有帮助;祝你好运 @jbmilgrom公司 said
这是一个编译错误,因为您声明
如果您这样做了:
这会奏效的。 可替代性通常不是对称的:
您可以将窄类型(没有参数的回调)分配给更宽的类型(只有一个参数的回调),而不会出错,但通常不能执行相反的操作。 更新2@jbmilgrom公司 said
这是因为您通过声明更宽的类型使TypeScript忘记了。你倒了牛奶(窄型,像
|
![]() |
Magician · 命名空间上的Typescript概念 7 年前 |
![]() |
Vignesh · PrimeNG TurboTable性能问题 7 年前 |
![]() |
Arjan · 问号Typescript变量 7 年前 |
![]() |
Jordi · Typescript:重载级联式构造函数 7 年前 |
![]() |
Christoph Glaß · 导出角度模块中的枚举 7 年前 |
![]() |
AbdulKareem · 基于传递的字符串参数约束返回的对象属性 7 年前 |
![]() |
jbmilgrom · 函数中缺少参数作为参数不会引发编译器错误 7 年前 |