本記事では、JavaScriptの??=演算子の使い方について詳しく解説しています。
JavaScriptの学習におすすめ参考書
改訂3版JavaScript本格入門 ~モダンスタイルによる基礎から現場での応用まで
先輩くん
10万部突破したJavaScriptの本が大幅増補改訂し7年ぶりに発売されたよ!
後輩ちゃん
最新の基本文法から、開発に欠かせない応用トピックまで学ぶことが出来るよ!
綺麗なコードが書けるようになる!
リーダブルコード-より良いコードを書くためのシンプルで実践的なテクニック
先輩くん
より良いコードを書きたい人におすすめの本だよ!
後輩ちゃん
10以上前の書籍ですが、内容は今でも役に立つものばかりです!
Contents
??=演算子とは
??=演算子とは、ES2021で新しく追加された演算子の一つです。この演算子は対象の変数に代入されている値がnullまたはundefinedの場合にのみ右辺にセットしている値を代入する性質を持っています。
ES2021で追加された||=演算子と非常に似ている性質ですが、||=演算子はfalsyな値を全て認識してしまいます。
??=演算子の使い方
??=演算子の使い方はとても簡単で、左辺に対象の変数をセットし、右辺に対象の変数に代入されている値がnullまたはundefinedだった場合に代入させたい値をセットします。
let num1; // 値:undefined
num1 ??= 1;
console.log(num1); // => 1
let num2 = null; // 値:null
num2 ??= 1;
console.log(num2); // => 1
let num3 = 0; // 値:0
num3 ??= 1;
console.log(num3); // => 0
上記のコードを??=演算子を使わずに書いたらどうなるか見ていきましょう。
let num;
num = num !== undefined && num !== null ? num : 1;
console.log(num); //=> 1
??=演算子のコードと比べてどうでしょうか?パッと見ただけだと何をしているか分かり辛いですよね。このように??=演算子を使うことで、コードの記述量を減らし可読性をグッと上げることが出来ます。