両者が文字列の場合は、Unicode値による比較。
文字列 文字列 => Unicode値 Unnicode値
両者が文字列でない場合は、非数値型を数値に変換し比較。
< 変換仕様 >
true -> 1
false -> 0
null -> 0
"数値" -> 数値 ( "5" -> 5 )
"数値でない文字列" -> NaN ( "p5" -> NaN )
undefined -> NaN
いずれかの値が NaN の場合、演算子は false を返す。
片方がBigInt型の場合も比較可能。
"5" < 7n => true
5n < 3 => false