typescript - call() 没有返回正确的类型
问题描述
我有以下打字稿:
let fn = function (): boolean {
return true
}
let res1: number
res1 = fn.call(null) // Should error
我不应该被允许分配res1
,因为它被声明为number
并且结果fn.call()
是boolean
. 检查在操场。
解决方案
有一个特殊的编译器选项(在操场上不可用)可以生成call
并保留正确的类型bind
。apply
选项是strictBindCallApply
,您可以在此处阅读:
对函数的绑定、调用和应用方法进行更严格的检查。
将此选项设置为 true 您的代码将按预期出错。
推荐阅读
- command-line-arguments - 通过 main 函数解析命令行参数
- python - 使用openpyxl将数据从列表附加到excel
- c++ - 尾随返回类型
- catboost - Catboost calc_feature_statistics 不绘图
- python - 我如何在 KivyMD 中制作多行标签?
- sonarqube - 在 SonarQube 中为每个开发人员计算 LOC
- python - 如何获得在输出中添加真实属性总和的函数?
- python - 如何刷新 QListView 项目的图标?
- python - 按子列表的第二个元素对嵌套列表进行排序,而不使用内置排序函数、循环或递归
- opensuse - 无法在 Open Suse 上安装 GridDB