void void 类型
最后更新:2026-10-22
void void 类型
void 表示"函数没有有意义的返回值"。日志函数、事件回调常用它标注,告诉调用方"别指望拿到返回值"。
| 分组 | 基础类型 |
|---|---|
| 类型 | 类型 |
| 严格模式 | 不需要 |
ℹ️ 说明 编辑器将 TypeScript 转译为 JavaScript 后运行(不做类型检查);类型检查结果见示例 Output。
📝 语法
function log(msg: string): void {
console.log(msg);
}
type Handler = (event: string) => void;
⚙️ 参数
| () => void | 回调类型的返回位置写 void:实现可以返回值,但调用方会忽略 |
|---|
返回值:void 本身就是"返回类型":标注的函数无有意义返回值;strict 下试图使用其返回值会得到 void 类型。
▶ 示例
修改下面的代码,点击试一试查看转译运行结果:
输出:
[event] click
[warn] low battery
(转译后运行输出;在 logEvent 里写 return 5 会得到编译错误)
💡 要点
ℹ️ 说明 void 函数允许 return;(裸返回)和 return undefined,但不允许返回其他值。
💡 提示 事件回调类型写成 (e: Event) => void 是标准做法:具体实现想返回什么都不影响接口约定。
⚠️ 注意 void 与 undefined 不同:undefined 是一个真实存在的值类型,void 是"别用返回值"的意图声明,二者不能混用。
🏷️ 相关基础类型
💡 相关案例
更多案例即将上线。
📚 相关教程
❓ 常见问题
Q void 和 undefined 作为返回类型有什么区别?
A () => undefined 要求函数必须显式返回 undefined;() => void 只表达"没有可用返回值",实现更自由。日常回调都用 void。
Q 可以把 void 函数的返回值赋给变量吗?
A 语法上可以(变量类型是 void),但没有意义——它就是 undefined。Strict 下使用会得到 void 类型,别这么写。
Q Promise<void> 是什么意思?
A 这个 Promise 完成时不携带数据,异步操作只关心"做完了没有",比如保存成功。读取数据的接口则应写 Promise<T>。