比较操作数可以是任意类型(但只有数字/字符串可以真正执行比较)
- 如果操作数为对象,大部分核心对象中
先转换调用valueOf()返回一个原始值,直接使用
否则调用toString()转换结果 - 对象—原始值,如果两个是String,那么进行数字number的比较16位的万国码
- 对象—原始值,如果至少有一个不是String,那么进行数字number的比较0和-0一样大,infinity比任意的大
js中的string由16位整数值序列构成,字符串的比较区分大小写
所有的大写ASCII字母都小于小写的ASCII
"Zoo"<"addrdvark"//=>true
"Z"<"a"
参照String.localCopare()获取到更多的字符串比较
对于不区分大小写的
String.toLowerCase() String.toUpperCase() 大小写转换
加号更偏爱String
比较运算符更偏爱Number
当一个操作数(或转换后)为NaN,四个比较运算符return false