类型注释 https://jsdoc.app/
/**
* @param {number} a param1
* @param {number} b param2
* @returns {number}
* */
function fn(a, b) {
return a + b
}
let a = fn()
常见的类型注释
@type
变量类型@param
(或@params
或@argument
) 参数类型returns
(或returns
) 返回值类型typedef
相当于ts中的type Status = "open" | "close"
@callback
回调函数 https://jsdoc.app/tags-callback.html@template
@class
(@constructor
)@this
函数内部this指向@extends
(@arguments
)enum
/**@typedef {'open'|'close'} Status */
/**@type {Status} */
const a = 'close'
在webpack中使用
/** @type {import('webpack').Configuration} */
module.exports = {
...
}