gpt4 book ai didi

typescript - TypeScript 能否验证 .js 文件是否与其自身的 .d.ts 声明一致?

转载 作者:搜寻专家 更新时间:2023-10-30 21:01:08 25 4
gpt4 key购买 nike

是否可以让 TypeScript 编译器检查 JavaScript 文件 foo.js 是否与它自己的声明文件 foo.d.ts 一致?

我们有一段 JavaScript 代码,出于各种原因,我们希望将其保留在 JavaScript 中。不过,如果可能的话,我们很乐意使用 TypeScript 来实现两个目标:1) 确认我们自己的 JavaScript 代码是类型安全的,以及 2) 向有兴趣使用 TypeScript 的客户提供声明。

对于给定的 JavaScript 文件 foo.js,我们可以创建相应的文件 foo.d.ts 来满足目标 #2(支持 TypeScript 客户)。但据我们所知,foo.d.ts 的存在不会导致对 foo.js 进行任何检查。也就是说,声明文件只对 foo.js 的外部消费者感兴趣,编译器不会验证 JavaScript 代码是否与其自己的 .d.ts 声明一致。

我们已经尝试在 foo.js 中使用 jsDoc 类型注释,并且 TypeScript 编译器验证该文件中的代码是否与声明的类型一致。这似乎可以满足目标 #1(检查我们自己的代码)。

但是,jsDoc 注释不如 .d.ts 声明文件中可能的完整 TypeScript 语法强大(例如,jsDoc 对泛型的支持是基本的),这限制了我们可以使用它们的地方。此外,TypeScript 编译器似乎没有提供任何 jsDoc 注释是否与 .d.ts 声明一致的验证。我们冒着这两种类型信息来源不一致的风险。

我们正在寻找有关在此类 JavaScript 项目上下文中利用 TypeScript 类型检查的最佳方法的指南。

最佳答案

Is it possible to have the TypeScript compiler check that a JavaScript file foo.js is consistent with its own declaration file foo.d.ts

不是真的。 .js 文件提供的上下文很少确切支持和不支持的内容。如果可能的话,我们就不需要 TypeScript。

更多

关于typescript - TypeScript 能否验证 .js 文件是否与其自身的 .d.ts 声明一致?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44146105/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com