【问题标题】:How to use void and number type in functions with guard-clauses如何在带有保护子句的函数中使用 void 和 number 类型
【发布时间】:2022-11-02 18:17:15
【问题描述】:

问题:除了返回类型为number 的值之外,我还试图编写一个带有保护子句的简单函数,但 ESLint 告诉我“void 仅作为返回类型或泛型类型变量有效”

P.S:如果我使用 void 作为保护子句的返回类型,我不知道为什么 ESLint 会扔给我这个......

代码:

function addTwoNumbers(one: number, two: number): void | number {
  if (one < 0 || two < 0) return;
  return one + two;
}

const result = addTwoNumbers(-5, -5);
console.log(result);

我尝试只为函数指定数字类型,但在这种情况下,ESLint 告诉我“类型 undefined 不可分配给类型 number

【问题讨论】:

标签: typescript eslint typescript-eslint


【解决方案1】:

您需要输入undefined 而不是void。默认情况下,一个空的 return 语句将返回 undefined

【讨论】:

  • 谢谢您的答复 !
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-11-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多