JavaScriptの中の比較操作子、=、<=紹介
1061 ワード
==操作子と同じで、操作子(>===)を比較して、対象をstringまたはnumberに変換してから比較することができます.――numberに対して、値の大きさを比較します.stringでは、符号表に登場する文字の順序を比較します.==操作符と違って、==は、Dateオブジェクトを優先的にstringに変換して比較しますが、オペレータと比較するとDateを含む全てのオブジェクトを優先的にnumberに変換して比較します.その比較判断のルールは以下の通りです.
1.操作符の両側に対象があれば、numberに変換します.numberに変換できない場合は、stringに変換します.2.変換後、オペレータの両方がstringであれば、文字列の比較を行う.一方にnumberが現れたら、数値比較を行います.3.操作子の両側にNaNが現れたらfalseに戻ります.4.0は-0と等しい
実験
1.操作符の両側に対象があれば、numberに変換します.numberに変換できない場合は、stringに変換します.2.変換後、オペレータの両方がstringであれば、文字列の比較を行う.一方にnumberが現れたら、数値比較を行います.3.操作子の両側にNaNが現れたらfalseに戻ります.4.0は-0と等しい
実験
//In comparison, Date object is converted to number
var d = new Date();
var s1 = "Thu Mar 27 2008 14:57:11 GMT+0800 (CST)";
var s2 = "Thu Mar 27 2099 14:57:11 GMT+0800 (CST)";
var n1 = d.valueOf() - 1000;
var n2 = d.valueOf() + 1000;
console.log(d > s1);//false, d is converted to number, and that number is further converted to string. It is a string comparison here.
console.log(d > s2);//false
console.log(d > n1);//true
console.log(d > n2);//false
console.log("11" > 3);//true