在JSDoc中如何标注指定类型的对象参数?
JSDoc 标注 HTMLImageElement 类型参数的正确写法
直接使用 @param {HTMLImageElement} - 图片对象 的写法即可,不需要使用 Object<HTMLImageElement> 的形式,核心原因如下:
HTMLImageElement是浏览器原生定义的全局接口类型,JSDoc 可以直接识别该类型标识符,不需要额外嵌套泛型包装。Object<>泛型语法的适用场景是描述「键值对结构的对象的内部类型规则」,比如当参数是一个键为字符串、值为 HTMLImageElement 的映射对象时,才需要写成@param {Object<string, HTMLImageElement>} - 图片集合映射表,和你要表达的「参数本身就是 HTMLImageElement 实例」的语义完全不匹配。- 错误使用
Object<HTMLImageElement>写法会导致 JSDoc 解析工具或 TypeScript 类型校验识别出类型错误,和实际传入的参数类型不匹配。
正确使用示例
/** * 加载图片资源 * @param {HTMLImageElement} img - 待加载的图片实例对象 * @returns {Promise<HTMLImageElement>} 加载完成的图片实例 */ function loadImage(img) { return new Promise((resolve, reject) => { img.onload = () => resolve(img); img.onerror = reject; }); }
内容的提问来源于stack exchange,提问作者user5507535
相关产品推荐
相关产品推荐

