【发布时间】:2022-12-09 01:22:14
【问题描述】:
根据official documentation,typescript 是 javascript 的静态类型检查器。这些检查发生在编译期间,即。 e.在程序执行之前。 Ts 的创建者还 state 表示他们不提供运行时类型信息或运行时类型检查。出于这个原因,在 ts 中创建了许多用于运行时数据验证的库:io-ts、joi、yup、zod 等,最佳实践似乎要求我们使用它们。
有人可以解释为什么运行时类型检查如此重要吗? 没有它会发生什么样的错误? 你可能有一些实际的例子吗?
【问题讨论】:
-
当您实际获得的数据(来自 API、文件、用户输入...)不是您告诉编译器的形状时会发生什么?
-
function foo(x: number) { return number.toFixed(); }然后用const y: any = "hello"; foo(y)调用它。走着瞧吧。
标签: javascript typescript types runtime typechecking