typescript - 为什么我可以调用一个用 instanceof 而不是 typeof 保护的函数?
问题描述
鉴于以下情况:
let x: Record<string, string> | Function = {};
if (x instanceof Function) {
x();
}
if (typeof x === "function") {
x();
}
使用保护的第一次调用可以instanceof
工作,但使用保护的第二次调用typeof
会产生此错误:
此表达式不可调用。类型“从不”没有调用签名。
何时可以评估变量的类型function
但仍不可调用?
解决方案
推荐阅读
- react-native - 将 flatlist 组件键作为参数传递
- laravel-5 - Why running composer install --no-dev I got error with Barryvdh\Debugbar\ServiceProvider?
- c# - 为什么 BsonDocument.Parse 反序列化错误的十进制128
- css - 为什么`@font-face` url 默认不能跨域?
- java - java中的初始化顺序,静态块内的构造函数
- postgresql - PostgreSQL:删除用户还是删除角色?
- java - 递归生成字符数组中所有字符组合(长度为k)的字符串数组
- colors - 颤振材料表面颜色不适用于卡片
- mobile - 检查 Android 应用的属性值时返回意外值
- macos - Oracle SQL Developer macOS 问题