javascript数据类型转换

javascript数据范例转换

在口试中经常会遇见问范例转换的题目,比方[] == false、[] == {}返回的是真照样假等等。。。

默许是false的五个值

null undefined NaN 0 ''

记着只有这五个值是假的剩下的全部是真的。

转换划定规矩

  1. 假如是一个值推断是不是是真假,除了默许是false的五个值剩下的全部是true。
  2. 假如是两个值比较是不是相称,遵照以下划定规矩。

    val1 == val2 假如两个值能够不是统一数据范例,假如是==比较的话,会默许举行数据转换。

    2.1 object == object,比较永久不相称。

    2.2 object == string 先将对象转换成字符串(挪用toString要领),然后再比较。

    [] 转换成字符串 ""
    {} 转换成字符串 "[object Object]"

    2.3 object == boolean 先将对象转换成字符串(toString),再把字符串转换成数字(Number)、布尔值转换成数字(true 转换成 1 false 换成成 0)然后让两个数字举行比较。

    Number("") 会输出 0

    2.4 object == number
    先将对象转换成字符串(toString),再把字符串转换成数字(Number),再举行比较。

    2.5 number == boolean 布尔值转换成数字,然后再比较。

    2.6 number == string 字符串转换成数字,然后再比较。

    2.7 string == boolean 都转换成数字,,然后再比较。

    2.8 null == undefined 效果是true。

    2.9 null 或许 undefined 比较别的的一切值,效果都是false,不相称。

比方:

 [] == false 返回 true 2.3划定规矩。
 [] == []  返回 false 2.1划定规矩。
 2 == true 返回 false 2.5划定规矩。

=== 三个等号还会比较数据范例。

这些划定规矩背下来,就可以圆满的敷衍如许的口试题了,加油!

我的博客和GitHub地点

https://github.com/lanpangzhi

http://blog.langpz.com

    原文作者:lanpangzhi
    原文地址: https://segmentfault.com/a/1190000018849854
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞