JavaScript で Null 変数または未定義変数を確実にチェックするにはどうすればよいですか?

Susan Sarandon
リリース: 2024-10-31 17:08:02
オリジナル
852 人が閲覧しました

How Can I Reliably Check for Null or Undefined Variables in JavaScript?

JavaScript における信頼性の高い Null 変数および未定義変数の検出の探索

JavaScript では、変数が定義されているか、値があるかを確認することが繰り返し行われる可能性があります。タスク。多くの開発者は次のパターンに頼っています:

<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>
ログイン後にコピー

ただし、Firebug などの特定の開発環境では、2 番目のアプローチで some_variable が定義されていない場合にエラーが報告されます。

null または未定義の変数をチェックするより効率的な方法は、次の構文を利用することです:

<code class="javascript">if (some_variable == null) {
    // some_variable is either null or undefined
}</code>
ログイン後にコピー

この代替方法は冗長バージョンと同等であり、Firebug などの開発ツールでもサポートされています。

注:

  1. 変数は、この省略表現手法を使用する前に宣言する必要があります。そうしないと、ReferenceError が発生します。ただし、オプションの引数やオブジェクト プロパティのチェックには安全に使用できます。
  2. このチェックの別の、ただし等価ではないバリアントには、0、NaN、false、または空の文字列の変数が含まれます:
<code class="javascript">if (!some_variable) {
    // some_variable is either null, undefined, 0, NaN, false, or an empty string
}</code>
ログイン後にコピー
  1. 通常、== よりも厳密な等価性チェック (===) を使用することが推奨されます。ただし、推奨される == null 比較は、このルールの例外です。

2021-03 更新:

最新のブラウザーは、Nullish 合体演算子 (? ?) および論理ヌル代入 (??=) は、変数がヌルまたは未定義の場合にデフォルト値を割り当てる簡潔な方法を提供します:

<code class="javascript">if (a.speed == null) {
    // Set default if null or undefined
    a.speed = 42;
}</code>
ログイン後にコピー

これは、ヌル合体演算子を使用して書き換えることができます:

<code class="javascript">a.speed ??= 42;</code>
ログイン後にコピー

以上がJavaScript で Null 変数または未定義変数を確実にチェックするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!