首页 > 其他分享 >HOW - Typescript 类型声明文件

HOW - Typescript 类型声明文件

时间:2024-04-07 15:34:01浏览次数:12  
标签:Typescript 代码 number 注释 HOW JSDoc 使用 类型 声明

目录

一、背景

随着 Typescript 的不断发展,很多流行的公共库(譬如 react、Lodash、axios)都为自己编写了类型文件,以便 TypeScript 用户能够更好地使用它们的 API。

在使用这些库时,你可以通过安装它们的 npm 包来自动获取相应的类型定义文件,或者手动下载和管理类型定义文件,以便在 TypeScript 项目中正确地使用这些库的 API。

总之,为你的 npm 包添加类型定义可以让使用方在编码时获得更好的 IDE 支持和代码提示,提高代码的可读性和可维护性。

二、如何添加类型定义支持智能提示

下面我将介绍两种常见的方法来为 npm 工具包添加类型定义:使用 TypeScript 编写类型声明文件和使用 JSDoc 注释。

方法一:使用 JSDoc 注释

JSDoc 是 JavaScript 的一种文档注释格式,用于描述代码的结构、功能和类型信息。它允许开发者在代码中使用特定的注释语法来提供对函数、变量、类等元素的描述,以及参数类型、返回值类型等信息。JSDoc 注释以 /** ... */ 的形式出现在代码的顶部,通常用于生成文档和提供代码提示。

以下是一个简单的 JSDoc 注释的示例:

/**
 * 计算两个数的和
 * @param {number} a 第一个数字
 * @param {number} b 第二个数字
 * @returns {number} 两个数的和
 */
function add(a, b) {
   
  return a + b;
}

在这个示例中,我们使用 JSDoc 注释来描述了 add 函数的功能和参数信息。具体来说:

  • @param {number} a:指定了 a 参数的类型为 number,表示第一个数字。
  • @param {number} b:指定了 b 参数的类型为 number,表示第二个数字。
  • @returns {number}:指定了函数的返回值类型为 number,表示两个数字的和。

当然,除了函数之外,JSDoc 注释也可以用于注释其他类型的代码元素,比如变量、类、方法、属性等。示例:

  1. 变量
/**
 * 表示人的姓名
 * @type {string}
 */
const name = 'John';
/**
 * 表示一个人的类
 * @class
 */
class Person {
   
  /**
   * 创建一个人的实例
   * @param {string} name 人的姓名
   */
  constructor(name) {
   
    this.name = name;
  }
  
  /**
   * 获取人的姓名
   * @returns {string} 人的姓名
   */
  getName() {
   
    return this.name;
  }
}
  1. 属性
/**
 * 表示一个人的年龄
 * @type {number}
 */
Person.prototype.age = 30;

这些是一些常见的其他类型代码元素的 JSDoc 注释示例。通过使用 JSDoc 注释来描述代码的结构、功能和类型信息,可以使代码更易于理解和维护,并且提供更好的 IDE 支持和代码提示。

通过使用 JSDoc 注释,开发者可以提供代码的清晰文档,同时帮助 IDE 和其他工具生成更好的代码提示和自动补全,提高开发效率。JSDoc 注释可以与各种 JavaScript 开发工具和框架一起使用,包括 Visual Studio Code、Eclipse、WebStorm 等。

另外,还记得我们在

标签:Typescript,代码,number,注释,HOW,JSDoc,使用,类型,声明
From: https://blog.csdn.net/weixin_58540586/article/details/137460898

相关文章

  • v-show和v-if的区别
    v-show可以写在dom标签中,可以根据表达式的true还是false来判断是否显示该标签的内容v-show是通过css属性的display来控制是否显示的,不删除元素v-show:在所写的代码中按住f12选择样式,display被划掉了,元素被显示了 当display勾选的时候,元素不显示了 所以v-show更适合用于......
  • Spring声明式事务(Spring学习笔记十五)
            不推荐使用编程式事务 在Spring-dao.xml中配置声明式事务<!--配置声明式事务--><!--获得transactionManager然后把他丢给他的构造器constructor-arg--><beanid="transactionManager"class="org.springframework.jdbc.datasource.D......
  • HOW - 前端国际化之多语言通用方案
    目录一、国际化二、多语言支持1.i18n库或插件2.存在的问题2.1全量语言包影响打包体积2.2语言切换的流畅性2.3SEO问题三、多语言通用方案:不再需要硬编码、重新打包和部署才生效1.独立的文案文件2.语言包管理平台3.版本管理3.1问题3.2......
  • 花式栈溢出 CTFshowpwn88
    花式栈溢出在这之前确实对这方面了解很少,一般这种花式栈溢出不仅仅要求你能发现漏洞,最主要的是你要有随机应变的能力这个题是一个64位的题目看一下保护canary和nx保护都开了,我们用ida打开看一下那么程序主要是要你给一个地址和一个值,他会把你给的值放入你给的地址里面,然后......
  • Vue3 + TypeScript + Vite 初始项目搭建(ESLint、Prettier、Sass、Stylelint、husky、p
    仓库地址仓库地址:https://gitee.com/tongchaowei/vue-ts-vite-template项目源码下载:https://gitee.com/tongchaowei/vue-ts-vite-template/releases全局安装pnpm包管理工具执行如下命令在系统全局安装pnpm包管理工具:npmipnpm-g使用Vite脚手架创建Vue3......
  • JavaScript不建议直接声明undefined的原因,极致的严谨和仔细
    前言:很多人写JavaScript代码时习惯用vara=undefined这种写法,其实这种写在某种情况下会产生意想不到的bug,又或者说undefined本身就是JavaScript的一个bug??为什么这么说呢,因为undefined它应该是关健字才合理的,但undefined在JavaScript里面压根就不是关健字,它是window......
  • ctfshow--红包一 ob混淆
    上来是一段混淆的ob混淆的js代码,还会有个setinterval无限debugger反调试点击查看代码function_0x51ba(){const_0x4b06d7=['padding:100px\x20120px;\x20font-size:\x200;\x20background:url(\x22','%c\x20','4794822nLKJYA',......
  • ctfshow--红包题第二弹 临时文件命令执行
    上来先代码审计点击查看代码<?phpif(isset($_GET['cmd'])){$cmd=$_GET['cmd'];highlight_file(__FILE__);if(preg_match("/[A-Za-oq-z0-9$]+/",$cmd)){die("cerror");......
  • 【漏洞复现】宏景人力资源信息管理系统 showmediainfo SQL注入漏洞
    免责声明:文章来源互联网收集整理,文章仅供参考,此文所提供的信息只为网络安全人员对自己所负责的网站、服务器等(包括但不限于)进行检测或维护参考,未经授权请勿利用文章中的技术资料对任何计算机系统进行入侵操作。利用此文所提供的信息而造成的直接或间接后果和损失,均由使用者......
  • ctfshow--web14 sql注入利用``的清奇的绕过
    输入c=3就会跳出来这个url复制并访问,看这个页面应该是sql注入有注释可看,看看他过滤了哪些东西点击查看代码if(preg_match('/information_schema\.tables|information_schema\.columns|linestring||polygon/is',$_GET['query'])){ die('@A@'); }点击查看代码查看......