美文网首页
TypeScript void 和 undefined 的区别

TypeScript void 和 undefined 的区别

作者: 华山令狐冲 | 来源:发表于2021-08-08 12:05 被阅读0次

在 JavaScript 中,不返回任何值的函数将隐式返回 undefined 值。 但是,在 TypeScript 中 void 和 undefined 不是一回事。

函数的 void 返回类型可能会产生一些不寻常但预期的行为。

返回类型为 void 的上下文类型不会强制函数不返回某些内容。 另一种说法是具有 void 返回类型(类型 vf = () => void)的上下文函数类型,在实现时,可以返回任何其他值,但会被忽略。

type voidFunc = () => void;

const f1: voidFunc = () => {
  return true;
};

const f2: voidFunc = () => true;

const f3: voidFunc = function () {
  return true;
};

这些函数的实现体里确实返回了数据,但是被忽略了。

但是我测试发现,这些 voidFunc 函数体内返回的数据,仍然可以被消费者接收到:

和这篇帮助文档里介绍的不一致:

更多Jerry的原创文章,尽在:"汪子熙":


相关文章

网友评论

      本文标题:TypeScript void 和 undefined 的区别

      本文链接:https://www.haomeiwen.com/subject/xfwwyltx.html