为什么 () => void 返回一些东西?

2023-12-08

我知道下面并不意味着返回“类型”为空。我的理解是 voidFunc 不返回任何内容,因为它返回“void”。为什么它返回任何类型?

type voidFunc = () => void

const myFunc: voidFunc = () => {
  return 'hello'
}

它和下面这样写有什么不同?type voidFunc = () => any


See 函数的可分配性

返回类型为空

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

返回类型为的上下文类型void does not强制函数not返回一些东西。另一种说法是上下文函数类型void返回类型(type vf = () => void),实现后可以返回任何其他值,但它将被忽略。

因此,该类型的以下实现() => void有效:

type voidFunc = () => void;
 
const f1: voidFunc = () => {
  return true;
};
 
const f2: voidFunc = () => true;
 
const f3: voidFunc = function () {
  return true;
};

当这些函数之一的返回值被分配给另一个变量时,它将保留 void 类型:

const v1 = f1();
 
const v2 = f2();
 
const v3 = f3();
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么 () => void 返回一些东西? 的相关文章

随机推荐

  • R 将字符串转换为时间

    我想将字符串转换为时间 我有一个时间字段 其中字符串只有四位数字和一个字母 A 或 P 数字之间没有冒号 表明它是时间 我想将 12 小时的字符串转换为 24 小时的时间 这样我就可以删除 A 和 P 这是一个例子 time c 1110A
  • 从 vbs 中具有特定扩展名的文件夹中获取最后修改的文件

    我有以下代码 我需要的只是找到扩展名为 PNG 和最近的最后修改日期的文件 我能够找到最后修改日期 但是如果我在文件上检查扩展名 则会出现 Object 某些数字 行需要 recentFile SCRIPT For Each objFile
  • 我可以在 iframe 上使用 postMessage,谁的 html 通过 - srcdoc 属性传递?

    我无法调用 postMessage 以防我在 srcdoc 属性中传递 html without sandbox allow scripts 它给出以下错误 Failed to execute postMessage on DOMWindo
  • 将字节流转换为数字数据类型

    假设我有一个字节流 其中我知道 64 位值 64 位随机数 的位置 字节顺序为 Little Endian 由于 PHP 的整数数据类型仅限于 32 位 至少在 32 位操作系统上 我如何将字节序列转换为 PHP 数字表示形式 我认为浮点就
  • 对非数字数据使用“bsxfun”

    有没有相当于bsxfun对于非数字数据 例如 我想比较存储在两个元胞数组中的所有字符串对 gt gt a aa bb cc gt gt b dd aa gt gt bsxfun strcmp a b not working for cell
  • Git:推送被拒绝

    我有一个团队 我们正在开发一个项目 我们的一名团队成员在 GitHub 上创建了一个存储库 并将其他人添加为协作者 我的团队成员将我们的代码提交到这个存储库 我对我的部分进行了更改 当我尝试提交它时 出现错误 如何将更改提交到我作为协作者的
  • 在完成块中调用时 UIAlertView 需要很长时间才能出现

    我的应用程序的一部分需要日历访问 这需要调用EKEventStore method void requestAccessToEntityType EKEntityType entityType completion EKEventStore
  • PySide 通过事件切换小部件?

    我想不通 我希望能够根据按钮点击等事件交换 QWidgets 但我遗漏了一些东西 而且我无法按照下面的代码行搜索到任何示例 我想要做的是单击顶部按钮之一并获取下面的小部件以在 QCalendar 或 QtextEdit 之间切换 我哪里出错
  • 从 JMS 侦听器类以编程方式更新某些视图

    我能够将 ActiveMQ 集成并在我的 OpenXava 应用程序中创建 JMS 使用者 现在 我需要使用接收到的数据更新某些瞬态视图 消息 它有几个问题需要考虑 例如 如何从 JMS 侦听器 java 类并将更改推送到当前视图 和 假设
  • 多核CPU单线程行为,未达到100%

    正如您从附图中看到的 我的双核机器上的 CPU 图形奇怪地对称 这是某种负载平衡 以防止一个核心比另一个核心使用更多 其背后的原因是什么 可能是热量分布 当然我主要关心的是 我的单线程 PSNR 图像算法是否达到 100 CPU 为 Cor
  • 为什么所有 openGL 对象都存储在 GLuint 中?

    我最好的猜测是 GLuint 持有一个指针而不是对象 因此它可以 持有 任何对象 因为它实际上只是持有一个指向内存中空间的指针 但如果这是真的 为什么我在使用这些变量时不需要取消引用任何内容 OpenGL对象名字是handles引用 Ope
  • 为每行插入一个数字输入 - R Shiny

    我有一个生成大矩阵的复杂代码 但在这里我附上一个简单的 可重现的示例 以便清楚地解释我想要的内容 这是代码 ui R library shiny shinyUI mainPanel Table Output tableOutput My t
  • 对齐规则

    我在家庭作业问题上遇到了一些麻烦 我想知道是否有人可以为我指出正确的方向 假设我们正在为一台机器编译 1字节字符 2字节 短整型 4 字节整数和 8 字节 实数 并具有对齐规则 需要每个原语的地址 数据元素为偶数倍 元素的大小 进一步假设
  • R 使用链接写入 Excel

    我想知道如何将 r 数据框导出到 excel 格式文件 并嵌入一些链接 这样我就可以使用 R 创建 xlsm 文件 打开 xlsm 文件时 我可以单击某些链接并打开其他文件或网页 我检查了几个 R Write to Excel 包 但几乎找
  • 令牌字符映射到 Ngram 过滤器 ElasticSearch NEST

    我正在尝试使用 NEST 复制以下映射 但在将标记字符映射到标记生成器时遇到问题 settings analysis filter nGram filter type nGram min gram 2 max gram 20 token c
  • Facebook Feed Dialog 返回未处理的 JavaScript,包括导致 iOS 应用程序崩溃的 post_id

    我尝试使用 Facebook 的 Feed Dialog 根据 Facebook 开发者网页上的示例 我编写了两个类我的应用程序模型类 and 我的视图控制 见下文 编译运行没有错误或警告 iOS 应用程序仅在第一次运行时挂起 当我打电话时
  • 如何在 MATLAB 中保存带有封闭框区域的绘图?

    保存绘图时 如何关闭顶部和右侧带有黑线的绘图区域 我不知道如何制作或如何搜索 如果有人知道请告诉我 例如 请看下面所示的图 其中缺少线条 在保存图像之前 请使用box命令 这会将您的绘图包围起来 使其周围有黑框 如您在示例图像中指定的那样
  • 防止直接访问 Node & Express 应用程序中的目录

    在我的 Express 应用程序中 我在 public 中有一个名为 media 的目录 我想限制对其 及其子目录 的访问 重定向或显示 404 我怎样才能实现它 提前致谢 如果你定义了public文件夹中express static像这样
  • 防止对覆盖层后面的元素进行 Tab 键操作

    我正在使用键盘 Tab 键 Shift Tab 键 在整个网页上进行 Tab 键切换 一切都运行良好且顺利 此外 当我继续按 Tab 键时 焦点会循环浏览所有元素 地址栏 元素 返回地址栏等 现在在某些情况下 我的内容之上有一个模式和一个透
  • 为什么 () => void 返回一些东西?

    我知道下面并不意味着返回 类型 为空 我的理解是 voidFunc 不返回任何内容 因为它返回 void 为什么它返回任何类型 type voidFunc gt void const myFunc voidFunc gt return he