ホームページ > 記事 > ウェブフロントエンド > 「if」ステートメントの「some_variable」をチェックすることは、「unknown」と「null」をチェックすることと同じですか?
JavaScript では、変数が未定義または Null であるかどうかをチェックする必要があることがよくあります。一般的なアプローチには、次のコード パターンが含まれます:
<code class="javascript">if (typeof(some_variable) != 'undefined' && some_variable != null) { // Do something with some_variable }</code>
ただし、このパターンは冗長になる可能性があります。このチェックを最適化するために、一部の開発者はコードを次のように単純化することを提案しています。
<code class="javascript">if (some_variable) { // Do something with some_variable }</code>
この短いバージョンは論理的に見えますが、元のコードとの同等性について重要な疑問が生じます。
違いは 2 番目のコード パターンの動作にあります。 some_variable が未定義の場合、Firebug は条件を評価するときにエラーをスローします。これは、2 番目のパターンは変数が宣言されていると想定しているのに対し、最初のパターンは宣言された変数と宣言されていない変数の両方を処理することを意味します。
null または未定義の変数をチェックするより効率的で一貫した方法
<code class="javascript">if (some_variable == null) { // Do something with some_variable }</code>
このコード スニペットは、宣言を必要とせず、Firebug で実行時エラーを引き起こすことなく、変数が null または未定義であることを正確に識別します。
最新のブラウザでは、Nullish 合体演算子が使用されます。 (??) および論理 null 代入 (??=) は、変数が null または未定義の場合にデフォルト値を割り当てる簡潔な方法を提供します。
<code class="javascript">a.speed ??= 42; // Sets default speed to 42 if null or undefined</code>
以上が「if」ステートメントの「some_variable」をチェックすることは、「unknown」と「null」をチェックすることと同じですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。