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

我能在WebStorm中得到基于JSDoc的类型检查吗?

是的,你可以在WebStorm中使用JSDoc进行基于类型的检查。

JSDoc是一种用于JavaScript代码的文档注释语法,它可以提供类型信息和其他元数据,以帮助IDE(集成开发环境)进行代码分析和类型检查。WebStorm是一款功能强大的JavaScript IDE,它支持JSDoc注释,并可以根据JSDoc提供的类型信息进行代码补全、错误检查和导航。

要在WebStorm中使用JSDoc进行类型检查,你需要按照以下步骤操作:

  1. 在你的JavaScript代码中,使用JSDoc注释来描述函数、变量和对象的类型信息。例如:
代码语言:txt
复制
/**
 * @param {number} a
 * @param {number} b
 * @returns {number}
 */
function add(a, b) {
  return a + b;
}

在上面的例子中,@param标签指定了函数参数的类型,@returns标签指定了函数返回值的类型。

  1. 在WebStorm中,打开你的项目,并确保已经正确配置了JavaScript语言版本和相关的库。
  2. 当你在代码中输入函数名或对象名时,WebStorm会根据JSDoc注释中的类型信息提供代码补全和错误检查。你可以通过按下Ctrl键并将鼠标悬停在函数名或对象名上来查看类型信息。
  3. 如果你的代码中存在类型错误,WebStorm会在编辑器中显示相应的错误提示。你可以通过点击错误提示来跳转到错误的位置进行修复。

总之,通过使用JSDoc注释和WebStorm的支持,你可以在WebStorm中得到基于JSDoc的类型检查,以提高代码的可靠性和可维护性。

腾讯云相关产品和产品介绍链接地址:

  • 腾讯云官网:https://cloud.tencent.com/
  • 云开发(CloudBase):https://cloud.tencent.com/product/tcb
  • 云服务器(CVM):https://cloud.tencent.com/product/cvm
  • 云数据库 MySQL 版(CMYSQL):https://cloud.tencent.com/product/cmysql
  • 人工智能(AI):https://cloud.tencent.com/product/ai
  • 物联网(IoT):https://cloud.tencent.com/product/iotexplorer
  • 移动开发(移动推送、移动分析):https://cloud.tencent.com/product/mobile
  • 云存储(COS):https://cloud.tencent.com/product/cos
  • 区块链(BCS):https://cloud.tencent.com/product/bcs
  • 元宇宙(Tencent Real-Time 3D):https://cloud.tencent.com/product/trtc
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

VScode JS 智能提示弱爆了?但是有办法!

02 IDE智能提示是啥? VScode效果(没有加JSdoc) ? 代码是用严格模式来写js游戏项目(如果读者们有需要,有机会会拿出来分享)。...04 WebStorm一些常用功能设置 1、快速给文件、方法、字段添加注释 ? 2、鼠标放到字段名或者方法名上时显示这些注释 ? 3、忽略不需要显示文件类型与文件夹 ?...VScode+JSDoc+d.ts配置会比装WebStorm麻烦,同时提示起来也没有WebStorm体验好 3、WebStorm开发CocosCreator项目,只要把creator.d.ts文件放到项目中...,就可以获得到CocosCreator内容提示了。...如果是用laya或者白鹭,会需要配置一些相关模块,但也是可以编译跟发布。 4、使用智能提示会让编程能力降低还要靠做游戏维持生活,不是用来加速游戏上线编程能力是不会去提高

5.8K30

TS in JS 实践指北

今天,告诉你,在 JavaScript 也可以很流畅使用 TypeScript ,而且你老大不会找你麻烦。...WebStorm 也支持,但是因为它包含了自家特色智能引擎,隔壁行八竿子打不到代码也能在当前作用域找到,所以这种神器在这里不做讨论。 什么,你用记事本?...当然,当我们访问name时,会得到firstname和nameLength两个属性。 ? demo 还记得在《ts安利指南》中提到过"配置文件自动提示"?...webpack types 这里用JSDoc @type标记,它语法作用是赋予后面一个单位以指定 type 类型。...3.有引起智能提示作用域混乱风险 在不开启静态类型检查时候,IDE 会去完全接受你所设计类型。要是只为了想要提示而去强行指定 type 的话,别说是告诉你这个方法(跑)。

4.5K20
  • JSDoc还需要TypeScript

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

    31920

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

    基于 JSDoc JSDoc 是目前最通用 JavaScript API 文档生成器,根据其语法编写代码注释,可以十分方便地自动生成文档。...基于 TypeScript 类型声明文件 除了使用 JSDoc 提前声明类型,更为激进做法是直接使用微软开发 TypeScript,为整个项目带来完善静态类型检查。...不严格地来说,ts 类型声明文件就像用 TypeScript 语法将 JSDoc 注释重写了一遍并提取到了单独文件。...另外,在 VSCode 类型检查并非默认开启,这意味着即使你有详尽 JSDoc 注释或 ts 类型声明文件,依然可能在数据类型上栽跟头。...,但我们认为,与智能提示带来开发体验、将很多可能在运行时才能发现错误通过类型检查前置解决、顺手完成详细文档以及重构代码时信心相比,这点速度牺牲是值得

    3.4K20

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

    刘勇:首先,JSDoc 并不能完全解决类型声明问题,它也不能在开发期就帮助开发者发现一些问题。...更期望看到后续 TypeScript 团队能优化这块体验。 刘易成:JSDoc 只能解决一部分类型问题,而 TypeScript 是一个完整类型系统。...李振:理论上也是可行,但与 TypeScript 相比,它仍然存在一些限制: 静态类型检查完整性:JSDoc 注释是基于注释方式,而不是直接嵌入到语言中,因此它类型检查可能不如 TypeScript...工具支持差异:尽管一些工具和编辑器可以利用 JSDoc 注释进行类型检查,但与 TypeScript 相比,它们功能和智能感知可能有所限制。...目前 TypeScript 生态已经成规模,所以它不会像 CoffeeScript 那样昙花一现。 刘易成:个人认为 TypeScript 会持续流行并得到更广泛应用。

    42010

    JSDoc 真能取代 TypeScript?

    TypeScript 我们知道,是用来给 JS 加上类型,可以实现类型提示和编译时类型检查。 那 JSDoc 能够完成一样功能么?Svelte 是出于什么原因弃用 TS 呢?...比如这样文档: 确实,这个是 JSDoc 最初含义。 但我们说 JSDoc 并不是这个,而是 TS 基于 JSDoc 语法实现,在注释里给代码添加类型语法。...现在问题来了,有一个 src/index2.js,怎么实现一样类型检查呢?...开启后你就会发现,js 文件里也会做类型检查了: hover 上去时候,会提示类型信息: 注意,这可不是用 ts 语法声明类型,而是用 JSDoc。...泛型都可以用,那基于泛型类型编程,也就是类型体操当然也可以玩: 一般这种复杂类型还是抽离到 dts 里,然后 @type {import('xxx').xxx} 引入比较好。

    38630

    TypeScript简介_TypeScript笔记1

    JS 编辑体验差主要原因,智能提示、自动补全等现代化编辑体验都是从 Visual Studio 开始基于类型推断智能提示 基于 JSDoc 智能提示 基于 TypeScript 声明文件智能提示...一致,复制粘贴就可以开始了 提供可选静态类型、类与模块:类型不仅让 JavaScript 开发能够使用高效开发工具和实践(如静态检查和代码重构),而且不会带来运行时性能损耗(静态类型仅在编译时存在...) 以 JavaScript 结束:TypeScript 编译产生地道原生 JavaScript,因此支持最前沿 JavaScript 特性,并且能在任何支持 ES3+宿主环境运行 可以认为TypeScript...例如: // TypeScript function f(s: string) { return s; } // 编译得到JavaScript,类型标注统统擦掉 function f(s) { return...s; } 另外,TypeScript 虽然提供了静态类型系统,并在编译时严格检查,但并不像Haskell 类型系统一样可证明,可推理。

    1.3K30

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

    难道从 TypeScript 切回 JavaScript 已经成了当下新潮流?这难道不是在开历史倒车?...是很好选择;静态类型检查好处,主要包括: 类型安全 代码智能感知 重构支持 而 TS 带来主要问题则有: 某些库核心代码量很小,但类型体操带来了数倍学习、开发和维护成本 TypeScript...类型声明定义成 TS 风格,更是支持了在 JSDoc 注释类型声明动态引入并解析 TS 类型能力。...255, blue: 255, alpha: 0.1 }; 当然,对于内建了基于 JSDoc 类型检查工具 IDE,比如以代表性 VSCode 来说,其加持能使类型安全锦上添花;与 JSDoc...,理论上如果能基于 AST 等手段当然更好,但如本例 Java 似乎没有特别成熟转换工具,java-parser 等库文档资料又过少。

    40110

    JSDoc ,一个可替代 TypeScript 方案?

    许多开发者喜欢使用TypeScript,因为它具有类型检查功能。然而,这需要额外转译步骤,可能会带来麻烦和浪费时间。...其中一些包括: 缺乏静态类型和严格类型检查:JavaScript非常宽容,允许将参数传递给不接受它函数,可以省略必需值等。这在静态类型语言中是不允许,因为会在编译时出错。...代码注释:JSDoc不仅可以用于类型检查,还可以用于添加更多文档,描述函数工作原理,并生成文档网站,从而提供价值以增强代码可维护性和理解性。...如何使用JSDoc:基础知识 由于其长期存在,JSDoc在所有现代编辑器中都得到了广泛支持,并且可以直接使用,无需任何安装。...改进通用代码文档: 除了在代码添加必要类型之外,JSDoc还有很多方法可以提高可读性和理解便利性。

    67710

    JSDoc支持_TypeScript笔记19

    一.JSDoc类型检查 .js文件里不支持 TypeScript 类型标注语法: // 错误 'types' can only be used in a .ts file. let x: number...TypeScript 类型系统解析这些 JSDoc 标记得到额外类型信息输入,并结合类型推断对.js文件进行类型检查 P.S.关于.js类型检查更多信息,见检查 JavaScript 文件_TypeScript...{string | boolean} */ var sb; 二者等价,只是语法略有差异 跨文件类型引用 特殊,能够通过import引用定义在其它文件类型: // a.js /** * @typedef...标记时,类型检查更严格一些。...具体,会对构造函数this属性访问以及构造函数参数进行检查,并且不允许(不通过new关键字)直接调用构造函数: /** * @constructor * @param {number} data

    4.1K10

    如何不编译使用 TypeScript

    当然 TypeScript 代码一般来说是要编译成标准 JavaScript 代码这样它才能在浏览器和 Node.js 环境运行。...四月份发布TypeScript 2.3支持通过注释类型说明来对原生 JavaScript 代码进行近代分析。您可以使用类 JSDoc 语法来描述函数功能并添加类型信息。...结论 在过去一年推动简化 JavaScript 工具,摆脱现代 Web 开发开发环境不断膨胀以及构建越来越复杂困境。...使用注释来对类型进行注释与这个目的很一致:在开发过程不需要多余构建步骤就可以获得 TypeScript 优点。...甚至不需要在项目中添加 TypeScript 作为开发依赖项,只是像文本编辑器功能那样处理类型检查,这样可以帮助我编写更好代码。

    1.9K40

    编译期类型检查 in ClojureScript

    前言  话说"动态类型一时爽,代码重构火葬场",虽然有很多不同意见(请参考),但我们看到势头强劲TypeScript和Flow.js,也能感知到静态类型在某程度上能帮助我们写出更健壮代码(当然要基于充分单元测试上啦...希望大神指点迷津~~ 注解语法 首先GCC用到注解语法仅为JSDoc子集,所以直接看GCC注解即可,而ClojureScript一般就用如下几个 @private {Type} 标识私有成员,且该成员数据类型...标识函数返回值数据类型和描述 @throws {Type} 标识函数可能抛出异常类型 接下来就是重点了,我们写了这么多还不就是想引入数据类型描述?...那关键就是上述代码Type到底应该怎么写了!...Type为function()时不能在声明返回值类型,否则编译时辉报警告!

    94170

    编译期类型检查 in ClojureScript

    前言  话说"动态类型一时爽,代码重构火葬场",虽然有很多不同意见(请参考),但我们看到势头强劲TypeScript和Flow.js,也能感知到静态类型在某程度上能帮助我们写出更健壮代码(当然要基于充分单元测试上啦...希望大神指点迷津~~ 注解语法 首先GCC用到注解语法仅为JSDoc子集,所以直接看GCC注解即可,而ClojureScript一般就用如下几个 @private {Type} 标识私有成员,且该成员数据类型...标识函数返回值数据类型和描述 @throws {Type} 标识函数可能抛出异常类型 接下来就是重点了,我们写了这么多还不就是想引入数据类型描述?...那关键就是上述代码Type到底应该怎么写了!...Type为function()时不能在声明返回值类型,否则编译时辉报警告!

    71620

    【TS】588- TypeScript 3.8 新增特性介绍

    service 需要在全局注册,但是导入 service 仅仅用于类型声明,因为上面提到 import elision 特性,导致 service.js 代码不会被执行,导致运行错误。.../some-module.js"; export type { SomeThing }; import type 被用作类型注释或声明声明语句,总是会在 TS 转 JS 中被完全删除,不会出现在JS代码...,在被包含是唯一 TS ,public 和 private 修饰符不能用于私有字段 私有字段不能在包含类之外访问 pr地址 https://github.com/Microsoft/TypeScript...TS3.8 通过打开 allJs 选项,能支持JS文件,并且当使用 checkJs 或者在你.js文件顶部添加 // @ts-check 注释时,TS能对这些JS文件进行类型检查。...TS 选用 JSDoc 进行语法类型检查,而TS3.8能理解一些新 JSDoc 属性标签。

    1.2K20

    TypeScript 5.3

    ; 然而,它只在TypeScript夜间版本得到支持。...switch (true) 缩小 TypeScript 5.3现在可以基于case每个switch (true)子句中条件执行收缩。...TypeScript 5.3现在更仔细地检查super属性访问/方法调用,以查看它们是否对应于类字段。 如果它们这样做了,我们现在将得到一个类型检查错误。 这张支票是由Jack Works提供!...|(SomeType & Type99999NINE)联合。 当检查一个联合体是否可以赋值给某个目标类型时,我们必须检查联合体每个成员是否都可以赋值给目标类型,这可能会非常慢。...在TypeScript 5.3,我们可以看到我们能够隐藏原始交集形式。 当我们比较类型时,我们做一个快速检查,看看目标是否存在于源交集任何组成部分

    22310

    使用 TypeScript 开发你项目

    JavaScript 是动态类型,只能在 runtime 时进行类型检查;同时它也给重构大型项目带来了困扰,在一定程度上,它是不「易读」。而 TypeScript 能够很好解决上述问题。...当然,向 JavaScript 提供一个可选静态类型是一个最重要变化点了。 在接下来,将简单阐述为什么静态类型对大型项目是友好,以及对 Function type 一次实践写法。...静态类型对大型项目是友好 尽早检查错误 如前文所提及,JavaScript 是动态类型语言,它没有 Type System,只能在 runtime 时进行类型检查,如果你不是足够小心,难免会出现下列情况...阅读代码友好 或许你也刚好认为「代码是给人读,只是顺便在机器上跑一下」,相信你会在 Function、Class、Modules 或者其他地方加上 JSDoc。...不同于 JSDoc,TypeScript 提供类型声明和模块接口形成了文档形状,提供程序行为提示,并在编译时会校验程序正确性。 改动下上个例子: 当然,对大型项目来说,这可能要复杂多。

    11210

    使用 TypeScript 开发你项目

    JavaScript 是动态类型,只能在 runtime 时进行类型检查;同时它也给重构大型项目带来了困扰,在一定程度上,它是不「易读」。而 TypeScript 能够很好解决上述问题。 ?...当然,向 JavaScript 提供一个可选静态类型是一个最重要变化点了。 在接下来,将简单阐述为什么静态类型对大型项目是友好,以及对 Function type 一次实践写法。...静态类型对大型项目是友好 尽早检查错误 如前文所提及,JavaScript 是动态类型语言,它没有 Type System,只能在 runtime 时进行类型检查,如果你不是足够小心,难免会出现下列情况...阅读代码友好 或许你也刚好认为「代码是给人读,只是顺便在机器上跑一下」,相信你会在 Function、Class、Modules 或者其他地方加上 JSDoc。...不同于 JSDoc,TypeScript 提供类型声明和模块接口形成了文档形状,提供程序行为提示,并在编译时会校验程序正确性。 改动下上个例子: ? 当然,对大型项目来说,这可能要复杂多。

    1.4K20

    使用JSDoc提高代码可读性

    作用 本人使用是 vs code 编辑器,内置了对 jsdoc 各种支持,同时还会根据部分常量,语法来推测出对应类型 可以很方便在编辑器中看到效果,所以下面所有示例都是基于 vscode 来做...如果你把这个当作是对程序深入了解程度、对业务娴熟掌握,那么觉得也帮不了你了。...当然了,关于函数,还是推荐使用 @param 和 @return 来实现,效果更好一些 扩展复杂类型 上边示例大多是基于基本类型描述,但实际开发过程不会说只有这么些基本类型供你使用。...必然会存在着大量复杂结构类型变量、参数或返回值。 关于函数参数,在 JSDoc 两种方式可以描述复杂类型: ?...所以在vscode基于Promise去使用@return,有两种写法可以使用: // 函数返回 Promise 实例情况可以这么指定类型 /** * @return {Promise<number

    1.4K20
    领券