TypeScript 类型管理与依赖处理
1. 使用 unknown 替代 any 处理未知类型
在 TypeScript 中,当我们遇到未知类型的值时,通常会考虑使用 any 或 unknown 。 any 类型会绕过类型检查,这可能会导致潜在的类型安全问题。而 unknown 是一种类型安全的替代方案。
TypeScript 在缩小未知类型时需要足够的证据。例如,为了避免 in 检查时出错,首先要证明 val 是对象类型且不为 null ,因为 typeof null === 'object' 。示例代码如下:
if (isBook(val)) {
val; // Type is Book
}
有时候会看到使用泛型参数替代 unknown 的情况,比如声明 safeParseYAML 函数:
function safeParseYAML<T>(yaml: string): T {
return parseYAML(yaml);
}
不过,这种方式在 TypeScript
超级会员免费看
订阅专栏 解锁全文
1172

被折叠的 条评论
为什么被折叠?



