jsDoc中的类型定义通过
@typedef {类型type} 类名名
, 指定变量类型通过
@type {类型type}
,类似
ts
中的
as
关键字,其中类型可以使用
ts
中的类型,以及使用一些内置的工具类如
Record
等
如果某个js中没有
export
导出,那么这个js中通过
@typedef
定义的类型,可以直接在其他js文件中通过
@type
使用,如果使用export关键字,那么其他文件要使用该类型,必须通过
@type {import('@/xxx.js').类型}
来使用
疑点:如果两个不同的js,通过@typedef定义了同名的类型,而且没有显式export,那么其他文件使用时
* @typedef {Object} Dragon
* @property {string} name 名字
* @property {number} age 年龄 这是注释
* @typedef {
{name:string,age:number,c:number}} Dragon
export {} // 使用了export,其他文件使用该文件的类型必须import