javascriptの中の==と==
1193 ワード
一例から話してください.
1.string、numberなどの基礎タイプに対して、==は判定値が等しいかどうかを判断し、==は判定値とタイプが完全に等しいかを判断します.
実は、Number、String、Booleanの3つのタイプはnumber、string、bolの包装タイプです.
Objectは、valueof()のようにパッケージのオリジナルタイプの値を取得し、実行することができます.s.valueof()==abcは、バックの結果がtrueです.
2.2つの値が同じオブジェクト、配列または関数である場合、それらは全く同じです.
3.基礎タイプと高級タイプとの比較は、==と==の違いがあります.
1)対==に対して、高級をベースタイプに変換し、「値」の比較を行う2)タイプが異なるため、===結果はfalseとなります.
var s = new String("abc");
s == "abc" //true
s === "abc" //false
==と==は出力結果が違っていますが、なぜですか?資料を調べたら、1.string、numberなどの基礎タイプに対して、==は判定値が等しいかどうかを判断し、==は判定値とタイプが完全に等しいかを判断します.
typeof s // Object
typeof "abc" // string
つまり、newはObjectタイプで、abcはstringタイプで、sの値は"abc"だからs==abc"はtrueに戻り、s==abc"はfalseに戻ります.実は、Number、String、Booleanの3つのタイプはnumber、string、bolの包装タイプです.
Objectは、valueof()のようにパッケージのオリジナルタイプの値を取得し、実行することができます.s.valueof()==abcは、バックの結果がtrueです.
2.2つの値が同じオブジェクト、配列または関数である場合、それらは全く同じです.
3.基礎タイプと高級タイプとの比較は、==と==の違いがあります.
1)対==に対して、高級をベースタイプに変換し、「値」の比較を行う2)タイプが異なるため、===結果はfalseとなります.