==演算子と同様に、比較演算子(>、<、> =、<=)は、比較する前にオブジェクトを文字列または数値に変換できます - 数値については、値のサイズを比較します。文字列については、エンコードテーブルに文字が表示される順序を比較します。 == operatorとは異なり、==は日付オブジェクトを文字列に変換し、それを比較しますが、比較演算子は日付を含むすべてのオブジェクトを番号に変換して比較します。比較判断の規則は次のとおりです。
1.オペレーターの両側にオブジェクトがある場合は、それらを数に変換します。それらを数値に変換できない場合は、それらを文字列に変換します。
2。変換後、演算子の両側が文字列の場合、文字列の比較が実行されます。それ以外の場合、片側に数値が表示される限り、数値比較が実行されます。
3.オペレーターの両側にNANが表示された場合、falseを返します。
4.0は-0に等しい。
実験
コードコピーは次のとおりです。
//比較すると、日付オブジェクトは数値に変換されます
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は数値に変換され、その数はさらに文字列に変換されます。ここは文字列の比較です。
console.log(d> s2); // false
console.log(d> n1); // true
console.log(d> n2); // false
console.log( "11"> 3); // true