使用 TypeScript 或 Facebook 的 Flow(type) 我可以静态输入变量,例如
function add (x: integer, y: integer) { ... }
TypeScript 和 Flow 都会捕获任何非法调用,例如add('1',0)
在编译时。
但是,当库被编译和导出时,类型就消失了。这意味着,使用该函数的库使用者不会出错,这可能会导致难以调试的问题。
有没有办法自动生成在运行时会抛出完全相同的错误的附加代码?
每次需要进行类型检查时,我肯定可以手动放置警卫,但这感觉很无聊和重复。