美文网首页
==比较运算符

==比较运算符

作者: lczzcl | 来源:发表于2019-01-07 10:42 被阅读0次

比较不同类型的数据时,相等运算符会先将数据进行类型转换,然后再用严格相等运算符比较。

"" == 0  //题目1
" " == 0  //题目2
"" == true  //题目3
"" == false  //题目4
" " == true  //题目5

(1)原始类型的值

原始类型的数据(数字、字符串、布尔)会转换成数值类型再进行比较。

1 == true // true
// 等同于 1 === Number(true)

0 == false // true
// 等同于 0 === Number(false)

2 == true // false
// 等同于 2 === Number(true)

2 == false // false
// 等同于 2 === Number(false)

'true' == true // false
// 等同于 Number('true') === Number(true)
// 等同于 NaN === 1

'' == 0 // true
// 等同于 Number('') === 0
// 等同于 0 === 0

'' == false  // true
// 等同于 Number('') === Number(false)
// 等同于 0 === 0

'1' == true  // true
// 等同于 Number('1') === Number(true)
// 等同于 1 === 1

'\n  123  \t' == 123 // true
// 因为字符串转为数字时,省略前置和后置的空格

上面代码将字符串和布尔值都转为数值,然后再进行比较。

(2)对象与原始类型值比较

对象(这里指广义的对象,包括数组和函数)与原始类型的值比较时,对象转化成原始类型的值,再进行比较。

[1] == 1 // true
// 等同于 Number([1]) == 1

[1] == '1' // true
// 等同于 Number([1]) == Number('1')

[1] == true // true
// 等同于 Number([1]) == Number(true)

{} == true //false
// Number({}) 空对象会转换为NaN

[] == true //false
// Number([]) 空数组对象为0

(3)undefined 和 null

undefined和null与其他类型的值比较时,结果都为false,它们互相比较时结果为true。

false == null // false
false == undefined // false

0 == null // false
0 == undefined // false

undefined == null // true

绝大多数情况下,对象与undefined和null比较,都返回false。只有在对象转为原始值得到undefined时,才会返回true,这种情况是非常罕见的。

相关文章

  • MySQL 中的运算符和常用函数

    MySQL学习笔记(3) 运算符 类型:算术、比较、逻辑和位运算符 算术运算符 比较运算符 比较运算符可比较数字、...

  • 2019-03-06

    运算符:数学运算符、比较运算符、逻辑运算符、赋值运算符 2.比较运算符:>,<,==,!=,>=,<= 所有比较运...

  • MySQL运算符

    算数运算符,比较运算符,逻辑运算符,位运算符 算数运算符: + - * / % 比较运算符: =, <>, !=...

  • 运算符与字符串

    运算符 算数运算符、比较运算符、赋值运算符、逻辑运算符比较运算符:>、<、>=、<=、==、!=赋值运算符:=、+...

  • 《Web前端开发之JavaScript精英课堂》(二)

    2.1 比较运算符,逻辑运算符 比较运算符">" "<" "==" ">=" "<=" "!="比较结果为bool...

  • 2018年6月13日【Python学习笔记】

    一、运算符 运算符:算数运算符、比较运算符、赋值运算符、逻辑运算符 1.比较运算符:>、<、>=、<=、==、!=...

  • day2学习总结0613

    01-运算符分为: 算术运算符、比较运算符、赋值运算符、逻辑运算符 1.1比较运算符:>、<、>=、<=、==(相...

  • 逻辑运算符

    赋值运算符 比较运算符 先运算再比较 逻辑运算符 比较大于逻辑!,&&,|| 单目运算符(!++ -- & ) 大...

  • Python3 基础03-运算符

    算数运算符、比较运算符、赋值运算符、逻辑运算符、身份运算符、成员运算符 一、算数运算符 例子: 二、比较运算符 返...

  • Linux的判断表达式:-d,-f,-e等

    文件比较运算符表达式 说明 案例 字符串比较运算符 算是比较运算符

网友评论

      本文标题:==比较运算符

      本文链接:https://www.haomeiwen.com/subject/ksuyrqtx.html