urain39 / stuff

Noting here.
1 stars 0 forks source link

jsdoc的简单的使用 #89

Open urain39 opened 4 years ago

urain39 commented 4 years ago

定义参数类型

/**
 * @param {string} name
 * @param {number} age
 */
function sayHello(name, age) {
    console.log(`Hello, my name is ${name}, and i am ${age} years old.`);
}

定义回调类型

/**
 * @callback numberFilter
 * @param {Array.<number>} numbers
 * @returns {number}
 */

/**
 * @param {numberFilter} callback
 * @param {Array.<number>} numbers
 */
function filterNumbers(numberFilter, numbers) {
    return numberFilter(numbers);
}

类型重命名(自定义类型)

/**
 * A number, or a string containing a number.
 * @typedef {(number|string)} NumberLike
 */

/**
 * Set the magic number.
 * @param {NumberLike} x - The magic number.
 */
function setMagicNumber(x) {
}
/**
 * @typedef {*} any
 */

/**
 * @typedef {(any | number)} WtfType
 */

参考:

urain39 commented 4 years ago

@class == @constructor == @classdesc

urain39 commented 4 years ago

这个类型处理的并不是很严格,deno那边的代码用的都是typescript风格的类型注释= =