js ‘undefined’与undefined在== 与===有什么区别?
'undefined' 是字符串
undefined 是一个JavaScript的 原始数据类型,一个没有被赋值的变量的类型。
相等(==)
比较操作符会为两个不同类型的操作数转换类型,然后进行严格比较。
一致/严格相等 (===)
一致运算符不会进行类型转换,仅当操作数严格相等时返回true
typeof ('undefined'==undefined)
"boolean"
'undefined'==undefined // '' 单引号包含起来的为string 类型
false
'undefined'===undefined
false
== 等于 会进行强制转换后进行比较
=== 严格等于 不会进行转换
在学习《javascript高级程序设计》这本书时,做了些总结,希望对你有帮助
《javascript高级程序设计》笔记:关系运算符与相等运算符
'undefined' 是字符串
undefined 是原始类型
== :相等运算符,仅判断数据的值是否相等,会进行隐式转换
=== :严格相等运算符,判断数据的值 与 数据的类型 是否都相等
所以有时候会有这样的事情
10 回答11.2k 阅读
5 回答4.9k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.8k 阅读✓ 已解决
3 回答2.4k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
==是字面量的比较
===是内存地址的比较,恒等判断类型和值都需要相等才为true
多说点undefined是一个单独的js类型
'underfined'是string类型
undefined 表示未定义!