前端学习笔记之强制类型转换

1.避免使用 ==true 和 == false 。因为在比较中,会将true和false强制类型转换为1和0。

2.在==中,null和undefined相等,其它值和他俩都不相等。

3.抽象关系比较时,如果出现非字符串,就根据ToNumber规则,将双方强制转换为数字比较。如果双方都是字符串,则按字母顺序比较。

4.||和&&并不返回布尔值,而是返回两个操作数中的一个。

5.JSON.stringify()在对象遇到undefined、function、symbol时会自动将其忽略。在数组中则会返回null。

6.==允许在相等比较中进行强制类型转换,而===不允许。

7.两个对象指向同一个值时,即视为相等,不发生强制类型转换。


"0" == null //false

"0" == undefined //false

"0" == false //false

"0" == NaN //false

"0" == "" //false

"0" == 0 //true


false == null //false

false == undefined //false

false == NaN //false

false == 0 //true

false == "" // true

false == [] //true

false == {} //false


"" == null //false

"" == undefined //false

"" == NaN //false

"" == 0 //true

"" == [] //true

"" == {} //false


0 == null //false

0 == undefined //false

0 == NaN //false

0 == [] //true

0 == {} //false


[] == ![] //true


//~x大致等同于-(x+1)

~42 //-43

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容