void 是一元运算符,执行右侧表达式但始终返回 undefined;用于丢弃返回值、阻止 a 标签跳转、IIFE 忽略结果、动态导入不取 Promise、安全获取 undefined。

JavaScript 的 void 是一个一元运算符,它的核心行为是:**执行右侧的表达式,但始终返回 undefined**。它不改变表达式本身的逻辑或副作用(比如函数调用、变量修改仍会照常发生),只是“吃掉”结果,强制让整个表达式的值变成 undefined。
主要作用:确保无返回值
void 的本质价值在于“语义明确地丢弃返回值”。它不是阻止代码运行,而是切断表达式结果对外部的影响:
- 避免非
undefined返回值引发意外行为(如页面跳转、控制台输出干扰) - 在需要“只执行、不取值”的上下文中提供安全出口
- 比直接写
undefined更健壮——因为void 0在任何环境下都稳定等于undefined,而全局undefined曾在非严格模式下可被重写
常见使用场景
1. 阻止 a 标签默认跳转(历史用法)
早期常用:<a href="javascript:void(0)">点击</a>。点击时执行 void(0),返回 undefined,浏览器不会导航,也不会覆盖当前页面内容。现代更推荐用 event.preventDefault() + 独立事件监听,解耦 HTML 和逻辑。
2. IIFE 中忽略返回值
例如:void function(){ console.log('run'); return 'done'; }(); 整个表达式结果为 undefined,避免在某些链式调用或赋值中误用 IIFE 的返回值。
立即学习“Java免费学习笔记(深入)”;
标签: javascript java html js 浏览器 工具
还木有评论哦,快来抢沙发吧~