使用JSDoc
/**基础类型*/ /**@type {string} */ /**联合类型 */ /**@type {string | number} */ /**数组类型 */ /**@type {string[]} */ /**@type {Array.<string>} */ /**对象字面量类型 */ /**@type {a:string,b:number} */ /**map-like 类型 */ /**@type {Object.<string,number>} */ /**array-like 类型 */ /**@type {Object.<number,object>} */ /**closure 语法 */ /**@type {function(string,boolean):number} */ /**TypeScript 语法 */ /**@type {(a:string,b:string) => number} */ /**函数类型 */ /**@type {function} */ /**任意类型 */ /**@type {*} */ /**@type {?} */ /**导入类型 */ /**@param {import(‘./a‘).Pet} */ /**@typedef Pet {import("./a").Pet} */ /**@type {Pet} */ /**params语法类似于type,唯一区别于可选属性 ,arg可选且默认值为test*/ /**@param [arg = ‘test‘] */ /**返回值类型 */ /**@return {string} */ /**复杂类型 */ /**@typedef {prop1:string,prop2:string,prop3?:number} SpecialType */ /**@typedef {(prop1:string,prop2?:number) => number} Predicate*/ /**泛型类型 */ /**@template T */ /**@param {T} */ /**@return {T} */ function id(x) {return x;} /**指定this的类型 */ /**@this {HTMLElement} */
原文:https://www.cnblogs.com/goOtter/p/9774567.html