typescript - 将函数返回值限制为 void
问题描述
bar
预计是一个没有返回值的函数:
let foo = () => 'foo';
let bar: () => void = foo; // produces no error
可以bar
防止分配与预期() => void
签名不匹配的功能吗?
例如,在这种情况下:
declare let jsApiThatShouldNeverAcceptTypeofFoo = (bar: () => void) => void;
jsApiThatShouldNeverAcceptTypeofFoo(bar);
解决方案
不,因为 void 返回函数可分配给值返回函数。另一方面,如果您期望一个 void 返回函数,则不能使用返回值。IE
let foo = () => 'foo';
let bar: () => void = foo; // produces no error
const result = bar(); // foo in runtime, TypeScript thinks it's void
const upper = result.toUpperCase(); // compile error
推荐阅读
- mysql - MySQL/doctrine 查询检索所有大于日期的元素
- php - 如何将a放入基于列的网格中
- python - 获取值错误'具有多个元素的数组的真值不明确。拟合训练数据后使用 a.any() 或 a.all()'
- python - 如何根据特定条件替换列中的某些值?
- oracle-apex - 使用替换字符串替换动态文件名以在交互式网格中下载
- artifactory - 获取 SetMeUp 令牌 API
- python - 单击 li 按钮的最佳方法是什么?
- tensorflow - tf.keras 中的 MobileNetV2。许多链接但没有有用的信息
- c# - 如何在一个下拉列表中绑定 2 列,一列在另一列下方并充当一列?
- python - 如何读取csv文件,并根据csv中的数据添加标题和新列并输出新的csv