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

如何用JSDoc在Typescript中记录JS类

JSDoc是一种用于记录JavaScript代码的注释规范,它可以在TypeScript中用来记录JS类。下面是如何使用JSDoc在TypeScript中记录JS类的步骤:

  1. 首先,确保你已经安装了TypeScript编译器。你可以使用npm来安装TypeScript,命令如下:
代码语言:txt
复制
npm install -g typescript
  1. 在你的JS类文件的顶部,使用JSDoc注释来描述该类。例如:
代码语言:txt
复制
/**
 * 这是一个示例类,用于演示如何使用JSDoc在TypeScript中记录JS类。
 */
class ExampleClass {
  /**
   * 构造函数
   * @param {string} name - 名称
   * @param {number} age - 年龄
   */
  constructor(name, age) {
    this.name = name;
    this.age = age;
  }

  /**
   * 获取名称
   * @returns {string} 名称
   */
  getName() {
    return this.name;
  }

  /**
   * 设置名称
   * @param {string} name - 名称
   */
  setName(name) {
    this.name = name;
  }

  /**
   * 获取年龄
   * @returns {number} 年龄
   */
  getAge() {
    return this.age;
  }

  /**
   * 设置年龄
   * @param {number} age - 年龄
   */
  setAge(age) {
    this.age = age;
  }
}

在上面的示例中,我们使用JSDoc注释来描述了ExampleClass类及其成员。例如,我们使用@param标签来描述构造函数的参数类型和名称,使用@returns标签来描述方法的返回类型。

  1. 保存文件后,你可以使用TypeScript编译器将JS文件转换为TypeScript文件。在命令行中,使用以下命令进行编译:
代码语言:txt
复制
tsc your-file.js

这将生成一个与你的JS文件同名的TypeScript文件,其中包含JSDoc注释。

通过以上步骤,你可以使用JSDoc在TypeScript中记录JS类,并为类的成员提供类型和描述信息。这样做可以提高代码的可读性和可维护性,并为开发人员提供更好的代码提示和文档支持。

注意:在使用JSDoc记录JS类时,由于TypeScript是一种静态类型语言,JSDoc注释中的类型信息对于TypeScript编译器来说是有意义的,但在实际运行时并不会进行类型检查。因此,确保JSDoc注释中的类型信息与实际代码保持一致非常重要。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

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

2022年的State of Js调查显示TypeScript的使用率上升。 TypeScript 解决了许多问题的同时,也并非没有缺点。...本文中,我们将介绍一种非常好的 TypeScript 替代方案,名为 JSDoc,它解决了静态类型和可扩展性的问题,同时也消除了 TypeScript JavaScript 生态系统的一些缺点。...一个 .js 文件添加JSDoc所述只是注释,通过使用额外的 * 开启一个注释来完成 // Normal Javascript Comment 1 /* Normal Javascript Comment...构造函数 创建的所有方法和变量 我们使用 @params 关键字来提供需要传递给构造函数的参数的类型和描述。的方法与函数的类型方式相同,这在前一节已经介绍过。...从JSDoc生成.d.ts文件 TypeScript, .d.ts 文件代表包含所有 .ts 文件都可以访问的类型声明文件。

75410

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...Compiler,更多相关讨论见Add support for @template JSDoc 三.类型标注语法 TypeScript 兼容 JSDoc 类型标注,同时也支持 JSDoc 标记中使用.../a").x; 注意,这种语法是 TypeScript 特有的(JSDoc 并不支持),而 JSDoc 采用 ES Module 引入语法: // a.js /** * @typedef State...等价于 TypeScript 泛型声明: type Wrapper = { value: K; } Nullable JSDoc ,可以显式指定可 Null 类型与非 Null 类型,例如:

4.1K10
  • 检查JavaScript文件_TypeScript笔记18

    写在前面 TypeScript 的类型检查不仅限于.ts,还支持.js 但为了确保文件内容只含有标准的 JavaScript 代码,.js文件按照 ES 语法规范来检查,因而不允许出现 TypeScript...JavaScript 主要以 2 种形式出现: 继承泛型,创建 Promise 等(泛型、Promise 等定义在外部d.ts里) 其它自定义泛型(通过 JSDoc 标明泛型类型) 例如: //...(实例)类型推断的依据,所以上例C实例的类型为: // TypeScript type C = { constructorOnly: number; constructorUnknown:...对于没在构造函数定义,或者构造函数类型为undefined或null(此时为any)的属性,其类型为所有赋值右侧值类型的联合 定义构造函数的属性都认为是一定存在的,其它地方(成员方法)出现的都当作可选的...声明未出现的属性都是未定义的,访问就报错 构造函数等价于 另外, ES6 之前,JavaScript 里用构造函数代替TypeScript 类型系统也能够“理解”这种模式(构造函数等价于

    2.4K50

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

    在其当年度 Octoverse 开源状态报告最流行的编程语言方面,TypeScript 越来越受欢迎,首次取代 Java 成为 GitHub 上 OSS 项目中第三大最受欢迎的语言,其用户群增长了...早在 1999 年由 Netscape/Mozilla 发布的 Rhino -- 一个 Java 编写的 JS 引擎,已经出现了类似 Javadoc 语法的 JSDoc 雏形 Michael Mathews...的类型声明定义成 TS 风格,更是支持了 JSDoc 注释的类型声明动态引入并解析 TS 类型的能力。...通常的情况下,ProtoBuf(Protocol Buffers)的设计思想是先定义 .proto 文件,然后使用编译器生成对应的代码(例如 Java 和 d.ts 类型定义)。...,理论上如果能基于 AST 等手段当然更好,但本例的 Java 似乎没有特别成熟的转换工具,java-parser 等库文档资料又过少。

    46510

    如何使用 TSX Node.js 本地运行 TypeScript

    但我们可以Node.js中直接运行TypeScript文件而无需任何编译步骤,这称为加载器(Loaders)。...这两个软件包都是加载器,它们接收运行时加载的文件,并对其执行操作,我们的情况下,操作是将TypeScript文件编译为JavaScript。...您可以官方文档中了解有关此功能的更多信息,包括使用转换示例。TSXTSX是我们的ts-node的最新和最改进版本,它使用ESBuild快速将TS文件转译为JS。...最有趣的部分是,TSX被开发为Node的完整替代品,因此您实际上可以将TSX用作TypeScript REPL,只需使用npm i -g tsx全局安装它,终端运行tsx,然后就可以原生地编写TSX...TSX作为加载器通过加载器运行一个文件(或所有文件)很简单,只需package.json创建一个启动脚本,并使用以下内容:"scripts": { "start": "node --loader

    2.1K10

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

    Type-Only Imports and Export TS 重用了 JS 的导入语法,我们日常使用 TS 导入功能时因为 import elision 特性,我们不必担心我们导入了什么,把我们想导入的东西全导入即可...,导入方式无差别,只是 TS 转 JS 的时候,TS 会识别出那些导入项被当做类型使用,它将其删除。...私有字段有一些规则 私有字段使用 # 字符作为开始 每个私有字段的名称,在被包含的是唯一的 TS ,public 和 private 修饰符不能用于私有字段 私有字段不能在包含之外访问 pr地址...对于没有依赖的情况下,可以使用 export {} pr地址 https://github.com/microsoft/TypeScript/pull/35813 JSDoc Property Modifiers...TS 选用 JSDoc 进行语法类型检查,而TS3.8能理解一些新的 JSDoc 属性标签。

    1.2K20

    JSDoc还需要TypeScript

    一旦你本地完成了所有工作,你就需要考虑如何分发你的代码。你会检查你编译的.js文件吗?你会创建一个CI管道来自动编译你的.ts文件吗?如果你写一个库,你如何发布你的库,以便它可以被其他项目使用?...你可以通过使用JSDocJavaScript获得TypeScript的所有好处 TypeScript所提供的是一个静态类型系统。这意味着类型信息在运行代码没有影响。...当你把TypeScript编译成JavaScript时,它基本上只是从你的代码删除了所有的类型信息,所以它又变成了有效的JavaScript代码。...JSDoc JavaScript诞生25年多后,JSDoc作为一种注释JavaScript代码的方式被引入。它是一种正式的标记语言,允许IDE开发者看到一个函数时提供额外的上下文。...最重要的是你要知道,几乎所有你能在.ts文件做的事情,你都能用JSDoc来做。

    33720

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

    一旦我们量化了 npm 发布更改数字,我们就入围了 v3 实现的四个最佳改进: 我们从*.js的文件删除了注释。 我们从*.d.ts文件删除了注释。 我们删除了TypeScript源代码。...我们从*.js的文件删除了注释 我们将类型脚本代码转换到 JavaScript 节点的常见目标.js 和浏览器的 es5 目标。我们还将类型作为分布不同的文件夹。...我们 JSDoc 评论添加此文档。我们的 TSConfig 设置,我们每个分发中都发货了多余的注释。 当您在代码的符号上悬停时,JSDoc 评论会出现。...在下面的示例,当在导入上盘旋时,您会看到 DynamoDB 的 JSDoc。 此 JSDoc 来自文件。...类型脚本,源映射文件以(或)文件的身份相应的输出文件旁边发出。类型脚本还允许将源地图内容嵌入到文件TypeScript 还允许将文件的原始内容作为嵌入字符串包含在源地图中。.

    2.3K20

    不需要TypeScriptJS+JSDoc够了?大佬说我想多了

    本月,Ruby on Rails 作者 DHH 宣布移除其团队开源项目 Turbo 8 TypeScript 代码。 他认为,TypeScript 对他来说只是阻碍。...它提供了许多有价值的功能,类型安全、代码智能感知和重构支持等,这些功能对于大型项目和团队协作非常有益。...举一个 Node.js 项目的例子,很多用户就不理解为什么 tsconfig.json 里的 paths 代码编译成 JavaScript 后会不生效,因为这些问题,就会容易导致产生计划之外的工作量。...人气方面,JavaScript 的开发者社区仍然是巨大而活跃的,社区可以很方便地找到大量成熟的开发项目和可用资源。...如果一个 TypeScript 库写了一大堆类型,但却连一个单测都没有,那我觉得它是不合格的。

    47010

    【译】不是 TypeScriptTypeScript -- JSDoc 的超能力

    TypeScript 团队也努力确保类型检查适用于常规 JavaScript 文件。...目录 带有JSDoc注释的TypeScript 激活检查 内联类型 定义对象 定义函数 导入类型 使用泛型 枚举 typeof 从扩展 带有 JSDoc 注释的 TypeScript 最优的情况下,...类型有很多很多,比评论的几种基本类型更多。结果就是使用 JSDoc 类型可以让你走得很远。...这样,您就可以 TypeScript 编写 TypeScript 类型定义,并将它们导入源文件。...特别是输入泛型时,TypeScript 还有一些功能,但是对于很多基本任务,你可以不安装任何编译器情况下获得很多编辑器的能力。 知道的更多?给我发一条推文。我很高兴在这里添加它们。

    3.2K30

    TypeScript 3.8 Beta

    与此相似,export type 仅仅提供一个用于类型的导出, TypeScript 输出文件,它也将会被删除。 值得注意的是,在运行时具有值,设计时具有类型。它的使用与上下文有关。...每个私有字段的名字,在被包含的,都是唯一的 TypeScript ,像 public 和 private 修饰符不能用于私有字段 私有字段不能在所包含的之外访问 —— 即使是对于 JavaScript...JSDoc 属性修饰符 TypeScript 3.8 通过打开 allJs 选项,能支持 JavaScript 文件,并且当使用 checkJs 选项或者在你的 .js 文件顶部添加 // @ts-check...由于 JavaScript 文件没有专用的语法来进行类型检查,因此 TypeScript 选择利用 JSDocTypeScript 3.8 能理解一些新的 JSDoc 属性标签。...尽管大部分情况下,它都能很好的工作,但是 Node.js ,文件监控非常困难,这主要体现在我们的代码逻辑

    1.8K30
    领券