乐趣区

关于javascript:JSDoc-快速上手

JSDoc 是在 JS 代码的正文里,以特定的格局标记变量的类型,函数的参数、返回值等,这样做能够防止调用函数的参数的时候传错或少传参数,进步代码的健壮性,缩小代码的 bug;再加上编辑器的反对,能够极大的进步编码的效率。

比如说上面的这个例子,

因为咱们标记了 pd 的类型,当调用 pd 这个变量的时候,编辑器能够十分不便的提醒这个对象上有什么办法。

咱们翻看 JSDoc 的官网文档发现列举了一大堆的性能,但其实罕用的性能也就几个,只须要花几分钟把握一下上面的几个应用办法,就能够大幅度提高写代码的编辑体验。

语法上要求以 /** 结尾,*/的正文。

申明函数的参数类型

@param {参数的类型} 参数的名 正文

如图所示,当咱们定义好一个函数后,在函数的上方输出 /**而后按回车,编辑器会主动替咱们补充好相干的变量名等信息,咱们只须要填上参数的类型就能够了。

写好类型之后,在函数外部应用,编辑器会提醒对应的办法和属性;

调用函数的时候,编辑器也会解析咱们写到 JSDoc 内容,提醒须要传入的参数类型和参数的正文。

类型 除了图上所以的 string 之外,还有 booleanundefinednull 类型之间,还有简单类型,{key1:string,key?:number} 还能够互相组合比方 string|number 等 typescript 外面能够用type 定义的。

申明函数的返回值类型

@returns 来指定函数的参数类型和返回值类型

@returns {string}

例如:

/**
 *
 * @param {string} id 正文正文正文
 * @param {string} name 正文正文正文
 * @returns {string}
 */
function getName(id, name) {//name.}

调用的成果:

申明变量类型

/**@type {string} */
var aaa=global.aaa

效果图:

定义一个类型

有时候,有一些类型比较复杂,并且许多中央都须要用,这时候咱们能够定义一个 类型

@typedef {类型} 类型名

比方,咱们定义了一个类型 User,别离有两个属性 name 和 age

/**@typedef {{name:string,age:number}} User */

也能够写成这种形式:

/**
 * @typedef {Object} User
 * @property {string} name
 * @property {number} age
 */

在函数定义中应用:

在其余中央应用:

定义一个函数类型:

/**@typedef{(a:string,b:string)=>void} FN */

或者:

/**@typedef{Function} FN
 * @argument {string} a
 * @argument {string} b
 */
退出移动版