javascript - 如何在 JSDoc 中记录数组解构参数
问题描述
给定以下代码,我如何使用最新的 JSDoc 正确记录它?
function docMe([foo, bar = null, baz = 1]) {
/* */
}
我试过这个:
/**
* @param {Array} options Array containing the options.
* @param {HTMLElement} options[0].foo An HTML element.
* @param {Object} [options[1].bar] An object.
* @param {Number} [options[2].baz] A number.
*/
显然这不起作用,JSDoc 文档提到的只是如何记录解构对象参数,而不是解构数组参数。
解决方案
在撰写本文时,Closure Compiler 中有一个未解决的问题。
该线程产生3个不完美的解决方案:
/**
* Assign the project to an employee.
* @param {Array} param1
* @param {string} param1.foo
* @param {*?} param1.bar
* @param {number} param1.baz
*/
function docMe([foo, bar = null, baz = 1]) {
// ...
};
2:报告在 VSCode 中工作(我不是用户,所以无法确认)
/**
* @param {[foo, bar, baz]: [string, *, Number]} param1
*/
function docMe([foo, bar = null, baz = 1]) {
// ...
}
3:对于闭包编译器:等待问题解决并使用该格式。它显然正在等待修复,并且已畅通无阻,因此希望它很快得到解决。
推荐阅读
- java - 无法使用 Retrofit 从我的模型类中获取所有数据
- flutter - 如何改变滚动条的粗细?
- php - 从用户输入构建动态 PHP 准备语句
- eclipse - JDK9+ - org.springframework.beans.factory.annotation.Autowire 类型无法解析。它是从所需的 .class 文件中间接引用的
- php - 如何使用字符串限制解码 html 特殊字符?
- sql - 获取上次上传和上一年上次上传
- vue-router - Vue-router 从 this.$route.matched 中的路由获取动态路径
- python - 图像文件上的shutil.move权限被拒绝
- linux - 如何在 Bash 中创建 3 秒计时器?
- java - JavaFX TitledPane 在正文和标题处更改背景颜色