2016-03-18 12 views
8

を使用して2つの数値の等価性を比較するJavaScript​​関数を使用して2つの数値を比較しようとすると、等しい数に対してfalseの値が返されます。ただし、より大きい( ">")およびより小さい( "<")操作は、trueを返します。JavaScript番号()関数

var fn = 20; 
var sn = 20; 

alert(new Number(fn) === new Number(sn)); 

このアラートはfalse値を返します。なぜこれが返されないのですかtrue

答えて

11

new Number()objectNumberであり、このようなオブジェクトは比較できません。 alert({}==={});falseを返します。

値を比較するためにNumberの新しいインスタンスを作成する必要がないため、newを削除します。

これを試してみてください:

var fn = 20; 
 
var sn = 20; 
 

 
alert(Number(fn) === Number(sn));