Fer*_*Paz 5 javascript jsdoc visual-studio-code
VS Code 上的 JSDoc 将 props 显示为对象而不是数组。
您可以通过将鼠标悬停在此codesanbox 片段中的函数名称上来自行测试。
根据JSDoc 文档,它应该能够记录:
@param {string} employee.name@param {string} employees[].name我也找不到有关VS Code 文档上的 JSDoc 支持的任何限制。
这会是 VS Code、JSDoc 或我记录 JavaScript 函数的方式的问题吗?
注意:我知道有一个解决方法,@typedef如下所示,但我更感兴趣的是了解为什么文档不能按我的预期工作。
/**
* A standard user
* @typedef {Object} User
* @property {number} id - The unique ID for the user.
* @property {string} name - The user name.
*/
/**
* Foo bar.
* @param {Object} props - The props.
* @param {User[]} props.users - A list of users.
*/
function foo(props) {
}
Run Code Online (Sandbox Code Playgroud)
我不太确定为什么这个[]符号没有被正确识别。我找到了这个替代方案(不求助于@typedef),它似乎接近您想要的:
/**
* Foo bar.
* @param {Object} props - The props.
* @param {Array<{id:number, name:string}>} props.users - A list of users.
*/
function foo(props) {
}
Run Code Online (Sandbox Code Playgroud)
JSDoc 支持 Closure Compiler 定义数组和对象类型的语法。
因此,我们可以使用Array<>和记录此处定义的符号: https:
//github.com/google/closure-compiler/wiki/Types-in-the-Closure-Type-System
几张截图:
我承认 VS Code 看起来并不理解该符号:
然而,当您开始访问props.users元素时,它看起来更好:
| 归档时间: |
|
| 查看次数: |
1738 次 |
| 最近记录: |