void void 型

最終更新:2026-10-22

void void 型

void は「関数に意味のある戻り値がない」ことを表します。ログ関数やイベントコールバックによく使われ、呼び出し側に「戻り値を期待しないで」と伝えます。

グループ基本型
種類型
strict モード不要

ℹ️ 説明 エディタは TypeScript を JavaScript にトランスパイルして実行します(型チェックなし)。型チェック結果は各サンプルの出力を参照してください。

📝 構文

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)と 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> と書くべきです。
Web-Tutorial.com

Web-Tutorial 技術チーム

複数の開発者によって共同維持されているプログラミングチュートリアルプラットフォーム。各チュートリアルは専門分野の開発者が執筆・レビューしています。正確で信頼性の高いコンテンツを目指しています — 問題を見つけた場合はお知らせください。

100%