如何使用JSDoc记录不一致的返回?

时间:2016-11-01 11:23:22

标签: javascript documentation jsdoc

是否可以为返回不一致的函数添加@return JSDoc注释?

/**
* @param {Number} a
* @param {Number} b
* @return {Number}
* */
function sum (a, b) {
  if (a < b) return false; //here we have a Boolean
  return a + b; //and here a Number
}

注意:

  1. 我已经知道这很糟糕
  2. 不会在我的代码中执行
  3. 对每个人如何处理此问题感兴趣(除了重构之外的其他方式)。

1 个答案:

答案 0 :(得分:2)

有一个例子right there in the JSDoc @returns documentation

  

返回值可以有不同的类型

/**
 * Returns the sum of a and b
 * @param {Number} a
 * @param {Number} b
 * @param {Boolean} retArr If set to true, the function will return an array
 * @returns {Number|Array} Sum of a and b or an array that contains a, b and the sum of a and b.
 */
function sum(a, b, retArr) {
    if (retArr) {
        return [a, b, a + b];
    }
    return a + b;
}

,例如,使用|,与其他时间一样,类型可能会有所不同。