在 JSDOC 和 WebStorm 中记录布尔类型的可选参数的正确方法是什么?
What is the correct way to document a optional parameter of type boolean in JSDOC and WebStorm?
我回顾了几个不同的 Stack Overflow 答案,它们让我走到了这一步。到目前为止,我已经尝试了以下方法。
/**
* Prints true, false or empty string
* @param {boolean=} b
*/
test = (b = '') => { // Initialized type string not assignable to variable type boolean
console.log(`b = "${b}"`)
}
/**
* Prints true, false or empty string
* @param {boolean=} b
*/
test = (b) => {
// Initialized type string not assignable to variable type boolean
if (typeof b !== 'boolean') b = ''
console.log(`b = "${b}"`)
}
我觉得正确的答案是抑制警告,但希望其他人有更好的答案。
在您的代码中,类型可以是 string
或 boolean
,因此您需要在此处使用类型联合:
/**
* Prints true, false or empty string
* @param {(boolean|string)=} b
*/
test = (b) => {
// Initialized type string not assignable to variable type boolean
if (typeof b !== 'boolean') b = ''
console.log(`b = "${b}"`)
}
我回顾了几个不同的 Stack Overflow 答案,它们让我走到了这一步。到目前为止,我已经尝试了以下方法。
/**
* Prints true, false or empty string
* @param {boolean=} b
*/
test = (b = '') => { // Initialized type string not assignable to variable type boolean
console.log(`b = "${b}"`)
}
/**
* Prints true, false or empty string
* @param {boolean=} b
*/
test = (b) => {
// Initialized type string not assignable to variable type boolean
if (typeof b !== 'boolean') b = ''
console.log(`b = "${b}"`)
}
我觉得正确的答案是抑制警告,但希望其他人有更好的答案。
在您的代码中,类型可以是 string
或 boolean
,因此您需要在此处使用类型联合:
/**
* Prints true, false or empty string
* @param {(boolean|string)=} b
*/
test = (b) => {
// Initialized type string not assignable to variable type boolean
if (typeof b !== 'boolean') b = ''
console.log(`b = "${b}"`)
}