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

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

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

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

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

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

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

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


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

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

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

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

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

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


"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



本文首发于前端黑洞网,csdn同步跟新

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值