.d.ts 声明文件提供了什么,不能保证什么?
参考答案
声明文件描述 JavaScript 模块或全局对象对外暴露的类型,让 TypeScript 能进行检查和补全。它不提供对应的运行时代码,也不会把外部数据自动校验成声明的类型。
维护库时,声明应与实际导出、模块格式和版本一起发布。手写声明需要检查可选参数、重载、返回值以及异步错误边界,不能用宽泛的 any 让错误悄悄通过。自动生成声明也需要从消费者项目验证入口是否能正确解析。
声明错误可能让合法调用报错,也可能让非法调用通过。升级第三方类型后出现报错,应检查是否暴露了原有问题、运行库与类型是否配套,而不是立即用断言压制。为没有类型的库补声明,是描述已有行为,不是凭类型文件创造新能力。
补充参考:类型声明与运行时。