首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

JSDoc需要TypeScript

一旦你本地完成了所有工作,你就需要考虑如何分发你的代码。你会检查你编译的.js文件?你会创建一个CI管道来自动编译你的.ts文件?如果你写一个库,你如何发布你的库,以便它可以被其他项目使用?...你可以通过使用JSDocJavaScript获得TypeScript的所有好处 TypeScript所提供的是一个静态类型系统。这意味着类型信息在运行代码没有影响。...」 较少人知道的是,JSDoc是你充分使用TypeScript需要的。...最重要的是你要知道,几乎所有你能在.ts文件的事情,你都能用JSDoc。...建议 所以现在我的建议是这样的: 当你正在做一个有编译步骤的项目时,使用TypeScript没有什么坏处 但是如果你不需要编译步骤,那么坚持使用JSDoc类型注释可能更容易。

28320

JSDoc ,一个可替代 TypeScript 的方案?

本文中,我们将介绍一种非常好的 TypeScript 替代方案,名为 JSDoc,它解决了静态类型和可扩展性的问题,同时也消除了 TypeScript JavaScript 生态系统的一些缺点。...super(message); this.name = "DivisionByZeroError"; } } 由于JavaScript本身不会强制你处理错误,因此你必须这样...构造函数 类创建的所有方法和变量 我们使用 @params 关键字来提供需要传递给构造函数的参数的类型和描述。类的方法与函数的类型方式相同,这在前一节已经介绍过。...改进通用代码文档: 除了代码添加必要的类型之外,JSDoc还有很多方法可以提高可读性和理解的便利性。...它用于创建到指定URL的链接,而 @tutorial 标签用于将用户引导到生成的文档的相对教程链接。 创建模块:JSDoc创建模块可以使用文件顶部的 @module 标签。

49110
您找到你想要的搜索结果了吗?
是的
没有找到

不是Typescript用不起,而是JSDoc更有性价比?

这难道不是开历史的倒车?...业内开始用 TypeScript 是因为 TypeScript 提供了类型检查,弥补了 JavaScript 只有逻辑没有类型的问题, 对于大型项目、多人协作和需要高可靠性的项目来说,使用 TypeScript..._clock = clock; } } 在实践,多用于配合 jsdoc2md 等工具,自动生成库的 API 文档等。...随着前后端分离的开发范式开始流行,前端业务逻辑也日益复杂,虽然不用为每个应用生成对外的 API 文档,但类型安全变得愈发重要,开发者们也开始尝试在业务项目中使用 jsdoc。...的类型声明定义成 TS 风格,更是支持了 JSDoc 注释的类型声明动态引入并解析 TS 类型的能力。

29010

JSDoc 真能取代 TypeScript

我们总得先了解下 JSDoc: 可能大家认为的 JSDoc 是这个东西: 代码的注释上加上类型的标识,然后通过 jsdoc 命令行工具,就可以直接生成文档。...比如这样文档: 确实,这个是 JSDoc 最初的含义。 但我们说的 JSDoc 并不是这个,而是 TS 基于 JSDoc 语法实现的,注释里给代码添加类型的语法。...文档在这里: ts 支持 js 文件的注释里,通过 JSDoc 的语法给它加上类型。 至于有什么意义,那可就太多了。...但现在并没有报类型错误: 需要在 tsconfig 里开启: allowJS 是允许编译 JS,checkJS 是在编译 JS 的时候也类型检查。...而且这样也能利用 ts 的类型提示和检查的能力。 所以很多人就说 svelte 抛弃了 ts。 这叫抛弃么? 并不是,JSDoc 只是另一种使用 ts 的方式而已。

32130

需要TypeScript,JS+JSDoc够了?大佬说我想多了

刘易成,社区昵称 xcatliu(流浪小猫),《TypeScript 入门教程》作者,来自腾讯文档团队。 李振,社区昵称 tick,来自腾讯文档团队。 一、开历史倒车?...Q2:以上从 TypeScript 切回到 JavaScript 的项目,都是开发框架的,所以这是不是跟项目类型有关呢?框架的项目更有可能选择 JavaScript ?...而使用 JavaScript + JSDoc 可能需要更多的手动工作来编写和维护类型注释。...JavaScript 要实现类似的功能,需要开发者更多的工作。 Q7:你觉得对普通项目来说,使用 TypeScript 有什么不方便或者不利的地方?...人气方面,JavaScript 的开发者社区仍然是巨大而活跃的,社区可以很方便地找到大量成熟的开发项目和可用资源。

31210

使用JSDoc提高代码的可读性

所以编辑器就会使用一个 TypeScript 中经常出现用来标识任意类型的 any 关键字来描述函数的参数以及返回值。... JavaScript 文件中大部分的标记都是级形式的,也就是使用 /** XXX */ 来进行定义,不过如果你愿意的话,也可以写到代码里边去。 ? JSDoc 提供了很多种标记,用于各种场景。...使用@typedef定义的类型可以很轻松的复用,需要的地方直接指定我们定义好的类型即可。 同理,这样的自定义类型可以直接应用在@return。...具体的格式是这样的(切换到 TypeScript 后一般会移除类型的定义,改用代码的类型定义): /** * @param {number} param 描述 */ function test (...TypeScript 之前,使用 JSDoc 能够在一定程度上降低维护成本,尤其是使用 vscode 以后,要手动编写的注释实际上是没有多少的。

1.4K20

@ ts-check

要是文档能再详细一点就好了!多亏了 TypeScriptJSDoc,这两个愿望都有变成现实的可能。...答案就是 // @ts-check, .js 文件的头部引入这样一行注释,就可以使用 TypeScript了。...把鼠标移到 a 处,发现报错是"Type '"123'" is not assignable to type 'number'",也就是说 TypeScript这种把字符串 '123' 赋值给数字变量...[1508485211180_7975_1508485234200.jpg] 使用 @ts-check 享受 TypeScript类型系统的好处就是这么简单,不需要改变构建,不需要进行项目的迁移,所需要做的仅仅是...对于新项目,相较于激进地使用 .ts 文件,我认为 // @ts-check 和 JSDoc 是更好的方法,因为 JavaScript不久的未来很有可能会引入可选的类型系统(类似于Python 3),

2.7K10

@ts-check

要是文档能再详细一点就好了!多亏了 TypeScriptJSDoc,这两个愿望都有变成现实的可能。...答案就是 // [@ts-check](/user/ts-check), .js 文件的头部引入这样一行注释,就可以使用 TypeScript了。...把鼠标移到 a 处,发现报错是"Type '"123'" is not assignable to type 'number'",也就是说 TypeScript这种把字符串 '123' 赋值给数字变量...享受 TypeScript类型系统的好处就是这么简单,不需要改变构建,不需要进行项目的迁移,所需要做的仅仅是 .js 文件的头部加入 // [@ts-check](/user/ts-check)(前提是你使用的是...对于新项目,相较于激进地使用 .ts 文件,我认为 // [@ts-check](/user/ts-check) 和 JSDoc 是更好的方法,因为 JavaScript不久的未来很有可能会引入可选的类型系统

1.8K80

为你的 JavaScript 项目添加智能提示和类型检查

基于 JSDoc JSDoc 是目前最通用的 JavaScript API 文档生成器,根据其语法编写代码注释,可以十分方便地自动生成文档。...基于 TypeScript 类型声明文件 除了使用 JSDoc 提前声明类型,更为激进的做法是直接使用微软开发的 TypeScript,为整个项目带来完善的静态类型检查。...不严格地来说,ts 类型声明文件就像用 TypeScript 语法将 JSDoc 的注释重写了一遍并提取到了单独的文件。...VSCode 更是将二者作了融合,当你二者混用的时候,可以直接在 JSDoc 的注释中直接使用 ts 类型声明文件定义的 interface 和 class 等。...另外, VSCode ,类型检查并非默认开启,这意味着即使你有详尽的 JSDoc 注释或 ts 类型声明文件,依然可能在数据类型上栽跟头。

3.2K20

@ts-check

要是文档能再详细一点就好了!多亏了 TypeScriptJSDoc,这两个愿望都有变成现实的可能。...答案就是 // [@ts-check](/user/ts-check), .js 文件的头部引入这样一行注释,就可以使用 TypeScript了。...把鼠标移到 a 处,发现报错是"Type '"123'" is not assignable to type 'number'",也就是说 TypeScript这种把字符串 '123' 赋值给数字变量...享受 TypeScript类型系统的好处就是这么简单,不需要改变构建,不需要进行项目的迁移,所需要做的仅仅是 .js 文件的头部加入 // [@ts-check](/user/ts-check)(前提是你使用的是...对于新项目,相较于激进地使用 .ts 文件,我认为 // [@ts-check](/user/ts-check) 和 JSDoc 是更好的方法,因为 JavaScript不久的未来很有可能会引入可选的类型系统

1.1K20

JS的静态类型检测,有内味儿了

立即上手 如果能有机会使用 TypeScript 那当然是最好,但是往往开发的老项目早期都是 JavaScript 完成的,如果都迁移到 TypeScript 版本工作量是庞大的,而且不可避免出现许多...bug问题,那么有没有一种方式可以无痛的使用JavaScript的同时享受到TypeScript的类型检查呢?...答案就是 // @ts-check, js 文件的头部引入这样一行注释,然后配合JSDoc就可以JavaScript代码中使用 TypeScript的类型检查了。...写在最后 对于老项目,使用 // @ts-check 和 JSDoc 来来享受TypeScript类型系统的好处是最简单、学习成本最低的方法。...而对于新项目,则更加推荐直接使用 TypeScript 来进行代码编写,并且各大框架里面都是用的TypeScript进行的代码编写,可期的未来,TypeScript将会越来越受欢迎。

1.7K20

用什么策略把你的 JavaScript 迁移到 TypeScript

还提到了需要进一步阅读的材料。 ? ---- 三种迁移策略 这是用于迁移到TypeScript的三种策略: 对于我们的代码库,可以支持 JavaScript 和 TypeScript 文件的混合。...我们仅从 JavaScript 文件开始,然后将越来越多的文件切换到 TypeScript。 我们可以继续使用普通的 JavaScript,并通过 JSDoc 注释添加类型信息,直到全部完成为止。...这时我们就可以切换到 TypeScript。 对于大型项目,迁移过程可能会遇到太多 TypeScript 错误。针对错误的快照进行测试会有所帮助。...在这样的同时,我们的代码库也不断的被编译。...需要与你的团队交流优先顺序: 有时可能需要优先完成快速迁移。 有时,迁移过程中保持完整功能的代码可能具有优先权。

74810

Angular 工具篇之文档管理

安装 Compodoc 之前,我们先来简单了解一下它的特点: 生成的文档结构清晰。 支持多种主题风格,比如 laravel, original, material, postmark 等。...支持 JSDoc 高亮,支持 @param, @returns, @link, @ignore 和 @example 标签。 支持文档覆盖率统计。...文档注释 comments Compodoc 使用 TypeScript AST 解析器和它的内部 API,因此注释必须是合法的 JSDoc 注释。...JSDoc Tags 由于 TypeScript 编译器的限制 目前 Compodoc 只支持以下的 JSDoc 标签: @returns —— 描述返回值 @ignore —— 表示标记的内容永远不会出现在文档...对 Angular 项目来说,除了 Compodoc 之外,你也可以考虑使用谷歌官方出品的 API 文档生成工具 Dgeni,它对外开放了丰富的接口,还支持插件扩展,具有非常强的定制性。

1.6K10

“注释”生成“VitePress文档网站”只需要“一行命令”!来试试!

设计 我们大可不必从头撸起,只需要jsdoc和VitePress巧妙结合一下。...为了方便使用,我们把现有的组件封装一下,把上面想法的复杂性留给自己,给使用者留下最简单易用的jsdoc2vitepress组件。...我们直接用这个组件的代码作为示例,代码的目录结构是下面这样的 预期效果是生成下面的Markdown文档。 Markdown内容是注释生成的API文档。...jsdoc2md需要一个配置文件jsdoc2md.config.json。...构建结果 使用建议 这个工具最适合用于给组件库生成文档,建议配合CI/CD,提交组件库代码的时候,触发构建文档和发布npm的流程,由代码注释生成文档并构建发布,从而确保组合库和文档的一致性。

1.2K20

JSDoc支持_TypeScript笔记19

; 因此,对于.js文件,需要一种被 JavaScript 语法所兼容的类型标注方式,比如JSDoc: /** @type {number} */ let x; // 错误 Type '"string"...Compiler,更多相关讨论见Add support for @template JSDoc 三.类型标注语法 TypeScript 兼容 JSDoc 类型标注,同时也支持 JSDoc 标记中使用...: number; } let specialTypeObject: SpecialType; 类型引用 通过@type标记来引用类型名,类型名可以是基本类型,也可以是定义 TypeScript 声明文件.../a").x; 注意,这种语法是 TypeScript 特有的(JSDoc 并不支持),而 JSDoc 采用 ES Module 引入语法: // a.js /** * @typedef State...等价于 TypeScript 泛型声明: type Wrapper = { value: K; } Nullable JSDoc ,可以显式指定可 Null 类型与非 Null 类型,例如:

4K10

我们如何为 JavaScript 客户端减半模块化 AWS SDK 的发布规模

在这篇文章,我们报道了如何将 v3 模块化封装的发布大小减少50%。 我们为什么要这么?...为了帮助客户,服务船提供了广泛的服务和运营文档。我们 JSDoc 评论添加此文档我们的 TSConfig 设置,我们每个分发中都发货了多余的注释。...复制代码 Bash 因此,使用 4.0 以上的 TypeScript 版本的客户不会在其 IDE 中看到 JSDoc 评论,尽管下级类型将起作用。...例如,我们使用类型脚本 v3 的原因解释博客文章关于first-class TypeScript support....要提供一流的类型脚本支持,库需要运送类型。如果库不是用类型脚本书写的,他们要么手动编写类型,要么使用类型脚本生成类型声明。 我们推特上问了这样一个问题, 维护者是否将源代码以 npm 包运送。

2.3K20
领券