Javascript TypeScript的非侵入性方式:我是否可以仅将TypeScript与定义文件(以及普通js文件)一起使用?

Javascript TypeScript的非侵入性方式:我是否可以仅将TypeScript与定义文件(以及普通js文件)一起使用?,javascript,typescript,Javascript,Typescript,如果我有一个项目想要使用纯JavaScript并使用一种只编译成JavaScript的语言是不可能的,但是我仍然希望在我的IDE中获得静态类型检查和代码完成的好处:我是否仍然可以使用TypeScript,但将所有这些添加保留在(外部).d.ts文件中 如果我尝试使用这种方法,是否有任何限制?我发现两个问题(至少): IDE如何知道,尽管它正在编辑Javascript文件,但它应该执行Typescript类型验证和完成?然而,JSDoc在许多ide中都得到了正确的支持 类型定义文件仅包含定义。类

如果我有一个项目想要使用纯JavaScript并使用一种只编译成JavaScript的语言是不可能的,但是我仍然希望在我的IDE中获得静态类型检查和代码完成的好处:我是否仍然可以使用TypeScript,但将所有这些添加保留在(外部).d.ts文件中

如果我尝试使用这种方法,是否有任何限制?我发现两个问题(至少):

  • IDE如何知道,尽管它正在编辑Javascript文件,但它应该执行Typescript类型验证和完成?然而,JSDoc在许多ide中都得到了正确的支持

  • 类型定义文件仅包含定义。类型推断需要整个实现才能正确工作

使用一种只编译成JavaScript的语言是不可能的,但我仍然想要静态类型检查的好处

看一看谷歌关闭工具:


这是很多人在打字之前(之后)使用的

是的,您可以在项目中直接使用从typescript生成的JavaScript文件。项目不需要知道它是从TypeScript创建的。您甚至不需要类型定义文件。生成的js文件没有类型信息。类型信息只是为了方便开发人员使用,浏览器不需要它。

btw,“一种只编译成Javascript的语言”有什么问题吗?但是类型脚本更好。。它更简洁、内联且不太冗长