本来のビジネスロジックとは関係のない null 判定などの if 文が乱立していると、コードの可読性が低下し、作業意欲も削がれてしまいます。JavaScript には、こうした問題を解決するための便利な新しい構文がいくつかあります。それが、論理積代入(&&=)、論理和代入(||=)、そして Null 合体代入(??=)です。これらを使いこなせば、コードの可読性がぐっと向上します。
論理和代入 (||=)
論理和代入は、変数が false、null、undefined のような “falsy” な値の場合に、新しい値を代入するために使用します。例えば次のように使えます:
let name = "";
name ||= "デフォルト名";
console.log(name); // "デフォルト名"
このコードでは、name が空文字列(“falsy” な値)であるため、"デフォルト名" が代入されます。もし name に既に値があれば、そのままの値が保持されます。
ちなみに、“falsy” となる具体的な値は次のとおりです。
| 値 | 説明 |
|---|---|
false |
ブール値の false |
0 |
数値のゼロ |
-0 |
負のゼロ |
0n |
BigInt のゼロ |
"" |
空文字列 |
null |
null |
undefined |
undefined |
NaN |
非数値 (NaN) |
論理積代入 (&&=)
論理積代入は、変数が “truthy” な場合にのみ新しい値を代入するために使います。例えば:
let isActive = true;
isActive &&= false;
console.log(isActive); // false
この例では、isActive が true だったため、false が代入されました。もし isActive が false や null であれば、代入は行われません。
Null 合体代入 (??=)
Null 合体代入は、変数が null または undefined の場合に新しい値を代入します。この構文は、変数が null や undefined の時にデフォルト値を設定したい場合に便利です。
let userName = null;
userName ??= "ゲスト";
console.log(userName); // "ゲスト"
この例では、userName が null であるため、"ゲスト" が代入されます。もし userName に値が設定されていれば、そのままの値が使用されます。
まとめ
今回紹介した論理和代入(||=)、論理積代入(&&=)、そして Null 合体代入(??=)は、変数の値を条件付きでシンプルに更新できる便利な構文です。これらを使うことで、コードがより直感的に、そしてすっきりと書けるようになります。知っておくとちょっとした時に役立つので、ぜひ試してみてください!

0 件のコメント:
コメントを投稿