首页 > 试题广场 >

不同数据类型的值的比较,是怎么转换的,有什么规则

[问答题]

不同数据类型的值的比较,是怎么转换的,有什么规则

  • 对象和其它类型比较 :调用对象的toPrimitive方法,对返回值进行类型转化,基本类型直接返回,引用类型调用ValueOf或toString
  • null、undefined只和它们自身相等,但是:null == undefined、null !== undefined
  • NaN和谁都不相等,包括它自己
  • 对象比较地址


基本类型之间的比较,均是先转化为数字,然后再比较。

编辑于 2022-03-08 08:20:07 回复(0)
<p>1、数字和字符串,布尔值,数组进行比较时,字符串(布尔值,数组)先转换为数字,在进行比较</p><p>2、字符串和布尔值类型进行比较,需要先进行Number()的洗礼在进行比较,数组和布尔值的类型比较也是如此</p><p>3、undefined与unll非全等比较会返回true,其他与undefined比较均返回false,null也一样</p><p>4、数组(对象)和字符串进行比较时,数组(对象)会转换成字符串再进行比较</p><p><br></p>
发表于 2020-06-10 21:49:42 回复(0)
1) 数字和字符串、布尔类型、数组进行比较时,字符串(或布尔类型、或数组)先转换为数字(Number),再进行比较;2) 字符串和布尔类型比较,进行比较的两个数据同时经过Number()的洗礼后再进行比较。数组和布尔类型的比较也如此。3) undefined 除了和null进行非全等比较返回true,其它均返回false。null 除了和 undefined进行非全等比较返回true,其它均返回false。   4) 数组(或对象)和字符串进行比较时,数组(或对象)会转换成字符串再进行比较。
发表于 2019-10-13 13:49:24 回复(0)

Infinity

发表于 2019-04-12 17:14:31 回复(0)