2017-03-22 6 views
-5
var a=new Number(6); 

var b=new Object(6); 
a===b; //false 

私はなぜ=== bがfalseを返すのか分かりません。同じタイプで、同じインスタンスから来ています。javascriptの番号とオブジェクト

+0

'==='と '==' – Weedoze

+0

チェックについてのドキュメントを読んで、このうち:http://stackoverflow.com/questions/359494/which-equals-operator-vs-should-be-used -in-javascript-comparisons – Syed

答えて

0

JSなどでは、

==値のためのシャッターは制御します。例えば;

var a = "1"; 
var b = 1; 

a == b: return true 

===シャッターは値とタイプを制御します。例えば;

a === b: return false 
1

これらは値で比較できないオブジェクトです。オブジェクトは参照によって比較されます。

var a=new Number(6); 

var b=new Object(6); 

var c=new Number(6); 

var d = a; 

a === b; //false 
a == c; // false 
b == c;//false 
a == d;//true 

これらは、値で比較できるプリミティブです。文字列や数値などのプリミティブは、その値によって比較されます。

var a= Number(6); 
var b= Number(6); 
a == b //true 
a === b //true 
関連する問題