news 2026/6/14 14:26:16

TypeScript 中,void 是一种表示“无返回值”的类型

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
TypeScript 中,void 是一种表示“无返回值”的类型

TypeScript中的void类型表示"无返回值",主要用于函数返回类型。


它与undefined不同:void强调不应使用返回值,undefined则是具体值类型。


void函数可以不返回或仅return;,而undefined函数必须显式返回undefined。


void变量声明无实用价值,但常用于回调函数表示不关心返回值。


与never类型不同,void表示函数正常执行完毕但不返回值,never表示函数永不返回(如抛出异常或死循环)。


使用void能明确表达函数仅用于执行操作而非返回结果的设计意图。


在 TypeScript 中,void是一种表示“无返回值”的类型。它通常用于函数的返回类型,表明该函数不会返回任何有意义的值。


1. void 基本用法

function logMessage(message: string): void { console.log(message); // 没有 return 语句,或 return;(不带值) }
  • 上面的函数logMessage不返回任何值,因此其返回类型是void
  • 如果你尝试返回一个值(比如return "hello";),TypeScript 会报错。

2.voidundefined的区别

  • 在 JavaScript 中,没有显式返回值的函数实际上会返回undefined
  • 但在 TypeScript 中,void类型更强调“不应该使用返回值”,而undefined是一个具体的值类型。
function f1(): void { // 合法 } function f2(): undefined { return undefined; // 必须显式返回 undefined }

注意:在严格模式下,不能将void类型赋值给其他类型(如let x: void = f1();虽然合法,但x几乎无法使用)。


3. 实际使用中的注意事项

  • 不要将void用于变量声明(除非特殊情况):

let unusable: void = undefined; // 技术上可行,但没实际用途
  • 因为void只能被赋值为undefined(在非严格模式下)或null(如果启用了--strictNullChecks则只能是undefined)。

  • 回调函数中常见void

function process(callback: () => void) { callback(); }
  • 这里表示callback不需要返回值(即使它返回了,调用方也不会使用)。


4.never的区别

  • void:函数执行完毕,但不返回值。
  • never:函数永远不会正常结束(例如抛出异常或无限循环)。
function throwError(): never { throw new Error("Oops!"); } function infiniteLoop(): never { while (true) {} }

总结

类型含义典型场景
void无返回值(可能隐式返回undefined日志、副作用函数
undefined明确的未定义值可选属性、初始化状态
never永不返回抛异常、死循环

使用void能让代码意图更清晰,告诉开发者:“这个函数是用来做事情的,不是用来获取结果的。”

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/12 17:39:00

STM32F407系列工控板源程序:支持以太网、FX3U PLC,版本多样,已修复多项bug

STM32F407/以太网/FX3U/PLC/工控板源程序 支持stm32f407/429/405芯片 支持断电数据保存。 目前源码有两个版本 图1.是Hal库版本已经被个别人进行倒卖。 现在已经进行了多项bug修复。 图2.是标准的库函数版本不进行网上交易,需要当面交易。最近在工控圈子里看到几个老…

作者头像 李华
网站建设 2026/6/10 18:01:25

Z-Image-Turbo ModelScope模型下载速度优化

Z-Image-Turbo ModelScope模型下载速度优化 阿里通义Z-Image-Turbo WebUI图像快速生成模型 二次开发构建by科哥 运行截图 在AI图像生成领域,模型加载效率直接影响用户体验和生产环境部署成本。阿里通义推出的Z-Image-Turbo作为一款高性能、低延迟的文生图模型&…

作者头像 李华
网站建设 2026/5/30 16:58:32

Z-Image-Turbo微博热搜话题图快速制作流程

Z-Image-Turbo微博热搜话题图快速制作流程 阿里通义Z-Image-Turbo WebUI图像快速生成模型 二次开发构建by科哥 在社交媒体内容创作中,视觉冲击力决定传播效率。微博热搜话题图作为信息引爆点,需要兼具高辨识度、强情绪引导和精准主题表达。传统设计流程…

作者头像 李华
网站建设 2026/6/13 18:22:31

Z-Image-Turbo医疗健康科普插图生成实践

Z-Image-Turbo医疗健康科普插图生成实践 项目背景与技术选型动因 在医疗健康领域的科普传播中,高质量、直观易懂的视觉内容是提升公众认知的关键。然而,专业医学图像制作成本高、周期长,且受限于版权和隐私问题,难以大规模定制化…

作者头像 李华
网站建设 2026/5/30 16:59:33

未来AI穿搭趋势:M2FP实现像素级衣物区域提取

未来AI穿搭趋势:M2FP实现像素级衣物区域提取 📌 引言:从人体解析到智能穿搭的跃迁 随着虚拟试衣、个性化推荐和AI时尚设计的兴起,精准的人体语义分割技术正成为下一代智能穿搭系统的核心基础设施。传统图像处理方法在面对多人场景…

作者头像 李华
网站建设 2026/6/12 19:55:42

10款开源人体解析模型测评:M2FP CPU版推理速度快2倍

10款开源人体解析模型测评:M2FP CPU版推理速度快2倍 在计算机视觉领域,人体解析(Human Parsing) 是一项关键的细粒度语义分割任务,旨在将人体分解为多个语义明确的身体部位,如头发、面部、上衣、裤子、手臂…

作者头像 李华