ホームページ > ウェブフロントエンド > jsチュートリアル > Javascript学習メモ:等号と完全等号

Javascript学習メモ:等号と完全等号

PHPz
リリース: 2018-09-30 11:23:28
オリジナル
1756 人が閲覧しました

この章では、JavaScript の等価記号と厳密等価記号について詳しく紹介します。必要な方は参照してください。

JavaScript には、2 つの値が等しいかどうかを判断する 2 つのメソッドがあります。

等号

等号は 2 つの等号で構成されます。 ==
JavaScript は弱く型付けされた言語です。これは、等号記号が 2 つの値を比較するために型をキャストすることを意味します。

""           ==   "0"           // false
0            ==   ""            // true
0            ==   "0"           // true
false        ==   "false"       // false
false        ==   "0"           // true
false        ==   undefined     // false
false        ==   null          // false
null         ==   undefined     // true
" \t\r\n"    ==   0             // true
ログイン後にコピー

上記のコードは型変換の結果を示しているため、等号記号 == の使用はプログラミングの悪い習慣であることがわかります。 Javascript の複雑な型変換メカニズムにより、結果として生じるエラーを追跡することが困難になります。

さらに、型強制はパフォーマンスにも一定の影響を与えます。たとえば、文字列を数値と比較する場合、文字列は数値に強制されます。

厳密等号記号

厳密等号記号は 3 つの等号で構成されます: ===
等号記号と同様に動作しますが、厳密等号記号は強制的な型変換操作は実行されません。

""           ===   "0"           // false
0            ===   ""            // false
0            ===   "0"           // false
false        ===   "false"       // false
false        ===   "0"           // false
false        ===   undefined     // false
false        ===   null          // false
null         ===   undefined     // false
" \t\r\n"    ===   0             // false
ログイン後にコピー

上記のコードにより、2 つの値の型が異なる場合に false が直接返されるため、パフォーマンスも向上します。

オブジェクトの比較

== と === は等価記号と呼ばれますが、比較される 2 つの値のどちらかがオブジェクトである場合、動作は大きく異なります。

{} === {};                   // false
new String('foo') === 'foo'; // false
new Number(10) === 10;       // false
var foo = {};
foo === foo;                 // true
ログイン後にコピー

ここでは、2 つの値が等しいかどうかを比較するだけではなく、2 つの値が同じオブジェクト インスタンスを参照しているかどうかを判断します。この動作は、よりポインタに似ています。 C.

概要

厳密等号記号 === のみを使用することを強くお勧めします。型変換を行う必要がある場合は、JavaScript 独自の複雑なキャスト メソッドに依存する代わりに、比較の前に明示的に型変換を行うことができます。

上記はこの章の全内容です。その他の関連チュートリアルについては、JavaScript ビデオ チュートリアル をご覧ください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート