JavaScirptの論理和代入・論理積代入 ・Null 合体代入を活用してコードをスッキリ!

2024年10月16日水曜日

Javascirpt

t f B! P L

アイキャッチ画像

本来のビジネスロジックとは関係のない null 判定などの if 文が乱立していると、コードの可読性が低下し、作業意欲も削がれてしまいます。JavaScript には、こうした問題を解決するための便利な新しい構文がいくつかあります。それが、論理積代入(&&=)、論理和代入(||=)、そして Null 合体代入(??=)です。これらを使いこなせば、コードの可読性がぐっと向上します。

論理和代入 (||=)

論理和代入は、変数が falsenullundefined のような “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

この例では、isActivetrue だったため、false が代入されました。もし isActivefalsenull であれば、代入は行われません。

Null 合体代入 (??=)

Null 合体代入は、変数が null または undefined の場合に新しい値を代入します。この構文は、変数が nullundefined の時にデフォルト値を設定したい場合に便利です。

let userName = null;
userName ??= "ゲスト";
console.log(userName); // "ゲスト"

この例では、userNamenull であるため、"ゲスト" が代入されます。もし userName に値が設定されていれば、そのままの値が使用されます。

まとめ

今回紹介した論理和代入(||=)、論理積代入(&&=)、そして Null 合体代入(??=)は、変数の値を条件付きでシンプルに更新できる便利な構文です。これらを使うことで、コードがより直感的に、そしてすっきりと書けるようになります。知っておくとちょっとした時に役立つので、ぜひ試してみてください!

スポンサーリンク
スポンサーリンク

このブログを検索

Profile

自分の写真
Webアプリエンジニア。 日々新しい技術を追い求めてブログでアウトプットしています。
プロフィール画像は、猫村ゆゆこ様に書いてもらいました。

仕事募集もしていたり、していなかったり。

QooQ