Movatterモバイル変換


[0]ホーム

URL:


MDN Web Docs

このページはコミュニティーの尽力で英語から翻訳されました。MDN Web Docs コミュニティーについてもっと知り、仲間になるにはこちらから。

void 演算子

BaselineWidely available

void 演算子は与えられた式 (expression) を評価し、undefined を返します。

試してみましょう

const output = void 1;console.log(output);// Expected output: undefinedvoid console.log("expression evaluated");// Expected output: "expression evaluated"void (function iife() {  console.log("iife is executed");})();// Expected output: "iife is executed"void function test() {  console.log("test function executed");};try {  test();} catch (e) {  console.log("test function is not defined");  // Expected output: "test function is not defined"}

構文

js
void expression;

解説

この演算子により、何らかの値を生成する評価式を、式がundefined と評価されることが望ましい場面に置くことができます。

void 演算子は、よく単にプリミティブ値undefined を得る目的で使われ、一般的に "void(0)" と書かれます(これは "void 0" と等価です)。この目的であれば、グローバル変数undefined を使用することができます。

なお、void 演算子の優先順位 を考慮するべきであり、括弧はvoid 演算子に続く式の解決を明確にするのに役立つとされています。

js
void 2 == "2"; // (void 2) == '2', false を返すvoid (2 == "2"); // void (2 == '2'), undefined を返す

即時実行関数式

即時実行関数式 を使用する場合、void によりfunction キーワードが宣言ではなく式として扱うよう強制することができます。

js
void (function iife() {  console.log("Executed!");})();// Output: "Executed!"

上記の関数をvoid キーワードなしで実行すると、捕捉されない SyntaxError が発生します。

JavaScript URI

#"/ja/docs/Web/JavaScript/Reference/Global_Objects/undefined">undefined でない限り、返された値でページの内容を置き換えます。void 演算子は、undefined を返すために使用できます。

html
<a href="#"> Click here to do nothing </a><a href="#">  Click here for green background</a>

メモ:#"アロー関数からのリーク防止">

アロー関数からのリーク防止

アロー関数は略式の中括弧のない構文を導入しており、式を返します。これは、以前は何も返さなかった関数呼び出しの結果を返すことで、意図しない副作用を引き起こす可能性があります。関数の返値が使用されないことを想定している場合は、安全のため void 演算子に渡すことで、(例えば) API の変更によってアロー関数の動作が変更されないようにすることができます。

js
button.onclick = () => void doSomething();

これにより、doSomething の返値がundefined からtrue に変わっても、このコードの動作が変わらないことが保証されます。

仕様書

Specification
ECMAScript® 2026 Language Specification
# sec-void-operator

ブラウザーの互換性

関連情報


[8]ページ先頭

©2009-2025 Movatter.jp