美文网首页
JS数据隐式转换

JS数据隐式转换

作者: leonardni | 来源:发表于2018-12-10 19:05 被阅读28次

一、js中的不同的数据类型之间的比较转换规则如下:


如图,任意两种类型比较时,如果不是同一个类型比较的话,则按如图方式进行相应类型转换,如对象和布尔比较的话,对象 => 字符串 => 数值 布尔值 => 数值

1. 1 对象和布尔值比较

对象和布尔值进行比较时,对象先转换为字符串,然后再转换为数字,布尔值直接转换为数字

[] == true;  //false  []转换为字符串'',然后转换为数字0,true转换为数字1,所以为false

1.2 对象和字符串比较

对象和字符串进行比较时,对象转换为字符串,然后两者进行比较。

[1,2,3] == '1,2,3' // true  [1,2,3]转化为'1,2,3',然后和'1,2,3', so结果为true;

1.3 对象和数字比较

对象和数字进行比较时,对象先转换为字符串,然后转换为数字,再和数字进行比较。

[1] == 1;  // true  `对象先转换为字符串再转换为数字,二者再比较 [1] => '1' => 1 所以结果为true

1.4 字符串和数字比较

字符串和数字进行比较时,字符串转换成数字,二者再比较。

'1' == 1 // true

1.5 字符串和布尔值比较

字符串和布尔值进行比较时,二者全部转换成数值再比较。

'1' == true; // true 

1.6 布尔值和数字比较

布尔值和数字进行比较时,布尔转换为数字,二者比较。

true == 1 // true

二、js中布尔值为false的六种情况

说明
undefined 未定义,找不到值时出现
null 代表空值
false 布尔值的false,字符串"false"布尔值为true
0 数字0,字符串"0"布尔值为true
NaN 无法计算结果时出现,表示"非数值";但是typeof NaN==="number"
""(双引号)或 ''(单引号) 空字符串,中间有空格时也是true

下面两种情况:

[] == false;

适用于对象与布尔类型比较。对象 => 字符串 => 数值0 false转换为数字0,这个是true应该没问题。

![] == false;

第二个前边多了个!,则直接转换为布尔值再取反,转换为布尔值时,空字符串(''),NaN,0,null,undefined这几个外返回的都是true, 所以! []这个[] => true 取反为false,所以[] == falsetrue

参考文献:
js中的隐式转换
JS的隐式转换 从 [] ==false 说起

相关文章

  • js中的类型转换

    在js中数据转换分为3种:隐式类型转换,强制类型转换,函数转换 1.隐式类型转换 (1):运算符转换 js中的值在...

  • JS里的数据类型转换

    在js中,数据类型转换分为显式数据类型转换和隐式数据类型转换。 1, 显式数据类型转换 a:转数字: 1)Numb...

  • JS隐式数据类型转换

    隐式数据类型转换介绍 前面有总结过 JS数据类型转换 Number(), toString(), parseInt...

  • JS的基本小结

    JS基本输出方式 JS数据类型 变量 常量 变量常量小练习 声明提前 隐式转换 显示转换/强制转换

  • 隐式转换 显示转换

    ####一.隐式转换 **1) 查看数据类型** *typeof* ```js 案例: v...

  • 隐式转换的规则

    问题:隐式转换的规则是什么 说起JS的隐式转换规则,我们可以说下JS的基础数据类型 JS的七中类型 我们所熟知的J...

  • JavaScript的显式转换和隐式转换

    js的显式转换和隐式转换都是数据类型的转换;js的数据类型是弱类型的,即可以给变量赋值为任意的数据类型,当进行运算...

  • JS数据隐式转换

    一、js中的不同的数据类型之间的比较转换规则如下: 1. 1 对象和布尔值比较 对象和布尔值进行比较时,对象先转换...

  • JavaScript类型转换

    在js中数据类型转换一般分为两种,即强制类型转换和隐式类型转换(利用js弱变量类型转换)。 强制类型转换 即通过使...

  • JavaScript 01 (JS引入/变量/数据类型/类型转换

    JS的引入及调试,常量,字面量,变量,JS中的数据类型,JS的运算符,JS的运算符之隐式类型转换,强制类型转换,M...

网友评论

      本文标题:JS数据隐式转换

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