`Rest parameters JSDOC` 未在 vscode 中正确标记
`Rest parameters JSDOC` is not correctly flagged in vscode
我的代码是否有问题导致 vscode
没有正确的提示?
/**
*
* @param {...Object} elementList
* @param {string} elementList[].type
*/
function add(...elementList) {
// vscode tip: elementList is (parameter) elementList: any[]
// expect: elementList is {type: string;}[]
elementList.map(e => e)
}
// use
add({ type: 'div' }, { type: 'h1' })
您需要格式 @param {type} parameterName
,例如
/**
* @param {{type: string}[]} elementList
*/
function add(...elementList) {
elementList.map(e => e)
// ^^^^^^^^^^^ (parameter) elementList: {type: string}[]
}
或者,您可以使用 JSDoc 创建可重用的类型定义:
// Define an Object type named MyElement with one property (type) of type string.
/**
* @typedef {Object} MyElement
* @property {string} type
*/
/**
* @param {MyElement[]} elementList
*/
function add(...elementList) {
elementList.map(e => e)
// ^^^^^^^^^^^ (parameter) elementList: MyElement[]
}
我的代码是否有问题导致 vscode
没有正确的提示?
/**
*
* @param {...Object} elementList
* @param {string} elementList[].type
*/
function add(...elementList) {
// vscode tip: elementList is (parameter) elementList: any[]
// expect: elementList is {type: string;}[]
elementList.map(e => e)
}
// use
add({ type: 'div' }, { type: 'h1' })
您需要格式 @param {type} parameterName
,例如
/**
* @param {{type: string}[]} elementList
*/
function add(...elementList) {
elementList.map(e => e)
// ^^^^^^^^^^^ (parameter) elementList: {type: string}[]
}
或者,您可以使用 JSDoc 创建可重用的类型定义:
// Define an Object type named MyElement with one property (type) of type string.
/**
* @typedef {Object} MyElement
* @property {string} type
*/
/**
* @param {MyElement[]} elementList
*/
function add(...elementList) {
elementList.map(e => e)
// ^^^^^^^^^^^ (parameter) elementList: MyElement[]
}