Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

【JavaScript ECMAScript】Nullish coalescing assignment (??=)演算子の使い方

Nullish coalescing assignment (??=)演算子の使い方について、初心者にもわかりやすく解説します。

作成日: 更新日:

基本的な使い方

Nullish coalescing assignment (??=)演算子は、JavaScriptにおいて、左辺の変数がnullまたはundefinedである場合にのみ、右辺の値を代入する短縮記法を提供する演算子です。この演算子は、既存の値がnullundefinedであるかを安全にチェックし、もしそうであれば新しいデフォルト値を割り当てたい場合に非常に役立ちます。

従来の論理OR代入演算子||=と似ていますが、??=はより厳密な条件で代入を行います。||=が左辺の値がFalsy(例えば、0、空文字列''falseなど)の場合に右辺の値を代入するのに対し、??=は左辺の値がFalsyであっても、それがnullまたはundefinedでない限り、その値を保持します。

具体的には、let value = someValue; value ??= defaultValue;というコードは、someValuenullundefinedの場合にのみ、defaultValuevalueに代入します。例えば、let a = 0; a ??= 100;という式を実行した場合、aの値は0のまま変更されません。これは0がFalsyではあるものの、nullundefinedではないためです。同様に、空文字列やfalseが代入されている場合も、その値は保持されます。

このように、??=演算子を使用することで、意図しない値の上書きを防ぎながら、変数に安全にデフォルト値を設定したり、特定の条件でのみ値を初期化したりすることが可能です。これにより、コードの可読性が向上し、より堅牢なプログラムを作成する手助けとなります。

公式リファレンス: Nullish coalescing assignment (??=)

構文(syntax)

1let myVariable = null;
2myVariable ??= "デフォルト値";
3// myVariable の値は "デフォルト値" になります

引数(parameters)

引数なし

引数はありません

戻り値(return)

任意の型

Nullish coalescing assignment (??=) 演算子の戻り値は、演算子が評価された最終的な値です。これは、左辺のオペランドがnullish(nullまたはundefined)であれば右辺のオペランドの値、そうでなければ左辺のオペランドの値になります。

関連コンテンツ

関連プログラミング言語