jsの==と===の違い

PHPz
リリース: 2017-04-02 16:38:33
オリジナル
1077 人が閲覧しました

1. 文字列や数値などの基本的な型の場合、 == と === の違いがあります

1) 異なる型間の比較 == は、「同じ型に変換された値」を比較します。 「値」の等価性、=== 型が異なる場合、結果は等しくありません

2) 同じ型の比較の場合、「値」を直接比較すると、2 つの結果は同じになります

2。 Array、Object、==、===などの高度な型 違いはありません

「ポインタアドレス」を比較してください

3. 基本型と高度な型、==と===は異なります

1) ==の場合、高度な型を基本的な型に変換し、「値」の比較を実行します

2) 型が異なるため、===の結果は偽となります

時々、かどうかを判断するときに使用される3つの等号(===)が表示されます。 2 つのオブジェクトは等しいです。2 つの等号 (==) との違いは何ですか?簡単に言うと、「==」を使用する場合、双方の型が異なる場合、JSエンジンは同じ型に変換して比較しますが、「===」は型変換を行わないため、両側は同じタイプに属しておらず、明らかに等しくありません。例:

var a = 0, b = '0';

alert((a == b) + '--' + (a === b))
ログイン後にコピー

この時点で表示される結果は「true–false」です。

=== 判定ルール

  1. 型が異なる場合は[等しくない]

  2. 両方が数値で同じ値の場合は[等しい]、少なくとも 1 つが NaN の場合、[等しくない]。 (値が NaN かどうかを判断するには、isNaN() を使用するだけで判断できます)

  3. 両方が文字列で、各位置の文字が同じ場合は [等しい]、それ以外の場合は [等しくない]。

  4. 両方の値が true 、または両方が false の場合、[等しい]。

  5. 両方の値が同じオブジェクトまたは関数を参照している場合は [等しい]、そうでない場合は [等しくない]。

  6. 両方の値が null であるか、両方が未定義の場合、[等しい]。

== 判定ルール:

  1. 2つの値の型が同じ場合、===比較を行います。

  2. 2 つの値の型が異なる場合、それらは等しい可能性があります。型変換を実行し、次のルールに従って比較します:

  • 一方が null で、他方が未定義の場合、[等しい]。

  • 一方が文字列で、もう一方が数値の場合、文字列を数値に変換して比較します。

  • いずれかの値が true の場合は 1 に変換して比較し、いずれかの値が false の場合は 0 に変換して比較します。

  • 一方がオブジェクトで、もう一方が数値または文字列の場合、オブジェクトを基本型の値に変換して比較します。オブジェクトは、toString メソッドまたは valueOf メソッドを使用して基本型に変換されます。 JS コアの組み込みクラスは toString の前に valueOf を試行しますが、toString 変換を使用する Date は例外です。非jsコアオブジェクト、としましょう(もっと面倒です、よくわかりません)

  • 他の組み合わせは[等しくない]です。

true と false の変換には特別な注意を払う必要があります。例:

alert(true == 1);  //ture
alert(true == 2); //false, true会转换成number,也就是1,当然 1 不等于 2
//可以使用 !! 来把一个数据类型转换为boolean型
alert(true == !!2) //true,!2 === false !(!=2) = !false = true
ログイン後にコピー

さらに、js では、変数が論理演算で使用される場合、変数には初期値がないか、その値は0、-0、null、""、false、未定義、または NaN の場合、値は false になります。それ以外の場合、その値は true です。

以上がjsの==と===の違いの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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