JSDoc 是在 js 的注释里通过 @type、@typedef、@template、@param 等来定义类型,然后开启 checkJS 和 allowJS 的配置之后,tsc 就可以对 js 做类型检查。 ts 里可以定义的类型,在 JSDoc 里都可以定义,比如变量、函数、class、泛型,甚至类型编程等。复杂的类型还可以抽离到 dts 里,在 @type 里引入。 也就...
// color.js/** @type {import('<PATH_TO_D_TS>/color').Color} */constcolor={red:255,green:255,blue:255,alpha:0.1}; 当然,对于内建了基于 JSDoc 的类型检查工具的IDE,比如以代表性的 VSCode 来说,其加持能使类型安全锦上添花;与 JSDoc 类型(即便不用TS语法也可以)对应的 TS 类型会被自动推...
这就是 JSDoc 最大的好处:无侵入的给 JS 加上类型,拥有和 ts 一样的类型检查、类型提示、生成 dts 等功能,但却不需要编译,因为 JS 代码可以直接跑。 有同学可能会说,就声明个函数类型就和 ts 一样了? 那肯定不止这么点语法,我们再看几个: 比如可以用 @type 给变量声明类型: 这里可以是各种类型,比如函...
从JSDoc生成.d.ts文件 在TypeScript中, .d.ts 文件代表包含所有 .ts 文件都可以访问的类型声明文件。您可以通过以下步骤从JSDoc代码生成这些文件: 在项目文件夹中安装 tsd-jsdoc 代码语言:javascript 代码运行次数:0 运行 AI代码解释 npm install tsd-jsdoc 生成.d.ts 文件 对于一个单独的文件 代码语言:javas...
jsdoc 解析ts 文心快码 JSDoc 本身是一个用于生成 JavaScript 代码文档的工具,它主要依赖于 JavaScript 代码中的注释来生成文档。然而,TypeScript 是一种 JavaScript 的超集,它添加了类型系统和一些其他特性。JSDoc 并不原生支持 TypeScript 的所有特性,如类型注解、泛型等,但这些特性在 TypeScript 代码中非常常见。
在FEDay 2023中我讲了《从JS到TS无缝迁移的实践报告》,视频如下:是将一个传统的JS项目(mochajs/mocha)迁移到TypeScript环境的全程。其中提到了一件事情,就是“可以通过JSDoc/TSDoc来生成.d.ts”,从而实现TypeScript的类型安全检查。有同学希望我能将这个过程也复述一
TypeScript 中的 .d.ts 文件表示声明文件,你可以使用以下步骤从 JSDoc 代码生成这些文件: 在项目文件夹中安装 tsd-jsdoc 复制 $ npm install tsd-jsdoc 1. 生成.d.ts 文件 对于单个文件。 复制 $jsdoc-t node_modules/tsd-jsdoc/dist-r our/jsdoc/file/path.js ...
除了JSDoc 本身能力的不断丰富,2018 年发布的 TypeScript 2.9 版本无疑是最令人惊喜的一剂助力;该版本全面支持了将 JSDoc 的类型声明定义成 TS 风格,更是支持了在 JSDoc 注释的类型声明中动态引入并解析 TS 类型的能力。 比如上文中的一些类型定义,如果用这种新语法,写出来可以是这样的: ...
jsdoc本身只是用于提供给 ide 实现自动提示和类型检查工具的类型标注器,和 ts 这种单独的编程语言没有...
这个是 ts 的编译流程,大家都很熟悉。 现在问题来了,我有一个 src/index2.js,怎么实现一样的类型检查呢? 这样写: AI检测代码解析 /** * @param {number} a 参数aaa * @param {number} b 参数bbb */ function add2(a, b) { return a + b; ...