JavaScriptの2等号と3等号の違い入門_基礎知識

WBOY
リリース: 2016-05-16 16:43:02
オリジナル
1391 人が閲覧しました

簡単に言うと、 == まず型を変換してから比較し、 === まず型を決定します。同じ型でない場合は、直接 false になります。
=== は等しいことを意味し、比較の両側は完全に同じである必要があります

alert(0 == ""); // true
alert(0 == false); // true
alert("" == false); // true
ログイン後にコピー
alert(0 === ""); // false
alert(0 === false); // false
alert("" === false); // false
ログイン後にコピー

まず === について説明します。これは比較的単純です。

1. 型が異なる場合、[等しくない]
2. 両方が数値で同じ値の場合、[等しい] (!例外) は、少なくとも 1 つが NaN の場合、[等しくない] ことを意味します。 (値が NaN であるかどうかを判断するには、isNaN() を使用してのみ判断できます)
3. 両方が文字列であり、各位置の文字が同じである場合は [等しい]、そうでない場合は [等しくない]。
4. 両方の値が true、または両方とも false の場合、[等しい]。
5. 両方の値が同じオブジェクトまたは関数を参照している場合は [等しい]、そうでない場合は [等しくない]。
6. 両方の値が null であるか、両方が未定義の場合、[等しい]。

== の具体的な比較ルールは次のとおりです:

1. 2 つの値の型が同じ場合、=== 比較を実行します。比較ルールは上記と同じです。
2. 2 つの値のタイプが異なる場合、それらは等しい可能性があります。次のルールに従って型の変換と比較を実行します:
a. 一方が null で、もう一方が未定義の場合、[等しい]。
b. 一方が文字列で、もう一方が数値の場合、文字列を数値に変換して比較します。
c. いずれかの値が true の場合は 1 に変換して比較し、いずれかの値が false の場合は 0 に変換して比較します。
d. 一方がオブジェクトで、もう一方が数値または文字列の場合、オブジェクトを基本型の値に変換して比較します。オブジェクトは、toString メソッドまたは valueOf メソッドを使用して基本型に変換されます。 JS コアの組み込みクラスは toString の前に valueOf を試行しますが、toString 変換を使用する Date は例外です。非jsコアオブジェクト、Ling Shuo (もっと面倒です、よくわかりません)
e. その他の組み合わせ (配列配列など) は [等しくない] です。

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