JSDoc是一种用于向JavaScript源代码添加内联API文档的语法。这与解析和操作遵循JSDoc语法的代码的各种工具不同。
我有一个正则表达式存储在这样的变量中: const 正则表达式 = /^(?=.*[A-Za-z])(?=.*\d)[A-Za-z\d]{1,}$/ 我现在想使用 JSDoc 提供一个类型。 VSCode 智能感知建议: @ty...
如何配置 ESLint,使其检查必需参数是否写在 JSDoc 中且不带括号,可选参数是否写在括号中? 例子 /** * 函数参数 * *@
我发现自己必须在多个文件中重复此过程。 /** @type {import('vue').Ref} */ 函数乐趣(var){ /... } 有没有办法导入一次类型并在不同的地方使用它......
我有一个 TypeScript Next.js 应用程序,我在编码时使用 VSC。 我喜欢这个功能:如果我在函数上方添加 @deprecated 的 JSDoc 注释,那么该函数的所有用法都具有该函数...
为什么 VS Code 中 TypeScript 对象属性的建议描述和悬停信息不显示属性类型的文档注释?
最容易在下图中看到该问题,因为该问题与 VSCode 中显示类型信息和注释的弹出框有关。 这是代码,但是 TS Playground 甚至没有显示
常量测试 = {}; 测试.test1 = {}; 测试.test2 = []; 精细工作 /** * @类型{对象} */ 常量测试 = {}; 测试.test1 = {}; 测试.test2 = []; 工作不好 在我声明测试变量的类型为
为什么我的 JSDoc 类型定义与 VS Code 中的 null 联合的悬停不显示 null 作为联合的一部分?
我有以下 LinkedList 类定义,使用 JSDoc 和 jsconfig.json 在 VSCode 中进行类型检查。在其中,它应该将 value 和 next 的类型显示为未定义的联合类型,但是......
为什么我的 JSDoc 类型定义与 VS Code 中的 null 联合的悬停不显示 null 作为联合的一部分?
我有以下 LinkedList 类定义,使用 JSDoc 和 jsconfig.json 在 VSCode 中进行类型检查。在其中,它应该将 value 和 next 的类型显示为未定义的联合类型,但是......
如何使用 JSDoc 将 Chart.js 类型信息获取到我的纯 javascript 文件中?
我有一个相当旧的应用程序,这是我所拥有的最小可重现的变体: 运行 npm i Chart.js Chartjs-adapter-moment 时刻 像这样创建一个index.html: 我有一个相当旧的应用程序,这是我所拥有的最小可重现的变体: 奔跑npm i chart.js chartjs-adapter-moment moment 创建一个index.html,如下所示: <html> <script src="node_modules/moment/moment.js"></script> <script src="node_modules/chart.js/dist/chart.umd.js"></script> <script src="node_modules/chartjs-adapter-moment/dist/chartjs-adapter-moment.js"></script> <script src="app.js"></script> <div style="height: 200px; width: 300px;"><canvas id="my-chart"></canvas></div> </html> 创建一个app.js文件,如下所示: // @ts-check /** * @typedef moment * @property {import('moment')} moment */ /** * @global {import('chart.js')} Chart */ document.addEventListener("DOMContentLoaded", () => { const ctx = document.getElementById("my-chart"); const chartRef = new Chart(ctx, { type: "line", options: { scales: { x: { type: "time" }, y: { min: 0, max: 10 }, }, }, data: { datasets: [ { label: 'Stuff', data: [ { x: moment("2023-01-01"), y: 2 }, { x: moment("2023-02-01"), y: 8 }, { x: moment("2023-03-01"), y: 3 }, { x: moment("2023-04-01"), y: 6 }, ], }, ], }, }); }); moment 类型似乎在 VSCode 中运行良好。但 Chart 打字根本不起作用。以下是它目前在 VSCode 中的作用: 我尝试了很多不同的东西,而不是@global声明,似乎没有任何效果。 当我不使用任何 Chart 或 import 或类似工具时,如何正确获取 Chart.js require 和 VSCode 中相关类型的类型完成? 尝试将您的 @global 更改为 /** @typedef {import("chart.js")} */。 另请参阅 https://www.typescriptlang.org/docs/handbook/jsdoc-supported-types.html 以获取支持的 JSDoc 事物列表。我在那里没有看到@global。 VS Code 的内置 JS 支持是基于 TypeScript 的 tsserver 构建的。
有没有办法使用 JSDoc 来定义这样的函数的返回类型,它创建一个扩展用户提供的类作为函数参数的类? /** * @param {class} 用户提供的类 ...
我正在尝试用expressjs和p5js编写一个小网站,但是我在VSCode中使用p5js和intellisense时遇到了一个令人不舒服的问题。我的问题是这样的: 我在实例模式下使用 p5js,因为我想
如何使用 JSDoc 注释记录具有属性和参数的 JavaScript 对象
const 对象名 = { 属性:0, 设定值) { this.属性=值; } } 您将如何使用 JSDoc 注释来记录这些示例行? 这是我已经尝试过的,但它...
VS Code - 如何使用 JSDoc 记录原型方法和属性
我有一段这样的代码: //第0行 /** * Person类的构造函数 * @班级 * @构造函数 * @param {string} name 人名 * @param {string} surname 人的姓氏 * @参数{
如何在nodejs中记录快速请求和响应对象中的自定义属性和方法?
我正在使用 JavaScript 开发 Express.js 项目,并希望使用 JSDoc 注释记录 Express Response 对象中的自定义属性和方法。 具体来说,我想添加一个自定义
JSDoc:如何在 NodeJS 中记录快速请求和响应对象中的自定义属性和方法?
我正在使用 JavaScript 开发 Express.js 项目,并希望使用 JSDoc 注释记录 Express Response 对象中的自定义属性和方法。 具体来说,我想添加一个自定义
如何使用 jsDoc 正确记录类型为“Object”的 vue 属性?
我想要实现的是记录具有“对象”类型的属性,例如 道具: { 富:{ 类型:对象, 必填:真实 } } 现在这个对象 foo 可以...
如何使用 JSDoc 从 on:input(从 HTML 输入元素)输入事件?
TypeScript 告诉我,我的 JSDoc 类型与我从文本输入元素中的 on:input 收到的类型不兼容。 在我的 HTML 中,我有一个带有 on:event 处理程序的输入字段,如下所示: TypeScript 告诉我,我的 JSDoc 类型与我从文本输入元素中的 on:input 收到的类型不兼容。 在我的 HTML 中,我有一个带有 on:event 处理程序的输入字段,如下所示: <input id="description" on:input={handleInput} 在 JavaScript 中我有: /** @param {InputEvent & { target: HTMLInputElement}} event */ const handleInput = (event) => { const fullInput = event.target.value; const singleChar = event.data; const cursorPosition = event.target.selectionStart; 在handleInput()中,类型被正确识别。但是 TypeScript 在 HTML 中的 on:input 上显示此错误: Type '(event: InputEvent & { target: HTMLInputElement;}) => void' is not assignable to type 'FormEventHandler<HTMLInputElement>'. Types of parameters 'event' and 'event' are incompatible. Type 'Event & { currentTarget: EventTarget & HTMLInputElement; }' is not assignable to type 'InputEvent & { target: HTMLInputElement; }'. Type 'Event & { currentTarget: EventTarget & HTMLInputElement; }' is missing the following properties from type 'InputEvent': data, dataTransfer, inputType, isComposing, and 5 more.js(2322) 为什么这些类型不兼容?我该怎么办? oninput 事件的典型 JSDoc 行可以通过我能想到的三种方式完成。 如果事件处理程序是函数表达式: /**@type{(event:Event)=>void}*/ const handleInput = event => { const fullInput = event.target.value; const singleChar = event.data; const cursorPosition = event.target.selectionStart; // do stuff... }; 另一种函数表达式语法: /**@type{function(Event):void}*/ const handleInput = event => { const fullInput = event.target.value; const singleChar = event.data; const cursorPosition = event.target.selectionStart; // do stuff... }; 最后,如果事件处理程序是函数声明: /** * @param {Event} event * @return void */ function handleInput(event) { const fullInput = event.target.value; const singleChar = event.data; const cursorPosition = event.target.selectionStart; // do stuff... }
在放弃之前我想在这里尝试一下。 我有一个定义文件,其类型如下: /** * 我的json解码函数,实际上很不同 * 实现(类似类)...
“Promise<string | Buffer>”类型的参数不可分配给“string”类型的参数
从“fs”导入fs; const fsp = fs.promises; /** * 读取文件并返回Buffer或字符串中的内容 * * @param {string} 路径 * @param {BufferEncoding} [编码]...
带有 @param 和 @return 的注释在 Google App Scripts 中意味着什么?
我在我目前使用的图书馆中不断看到这种事情: /** * 根据特定列中的数据构建饼图。 * * @param {Object[][]} 数据 JavaScript 二维数组 * @para...