一般存在四种情况,JavaScript会对变量的数据类型进行转换。
目录
自动转为Boolean类型
* 会被转为false的数据
* 会被转为true的数据
* 参与+运算都会被隐式的转为字符串
* 会被转为空字符串的数据
* 会被转为字符串的数据
* 会被转为数据类型标记的数据
* 参与*运算都会被隐式的转为数字
* 会被转为0的数据
* 会被转为1的数据
* 会被转为NaN的数据
* == 运算符
* 为true的时候
* 为false的时候
if中的条件会被自动转为Boolean类型
会被转为false的数据
会被转为true的数据
参与+运算都会被隐式的转为字符串
会被转为空字符串的数据
会被转为字符串的数据
会被转为数据类型标记的数据
参与*运算都会被隐式的转为数字
会被转为0的数据
会被转为1的数据
会被转为NaN的数据
== 运算符
为true的时候
1 == true // true
1 == '1' // true
1 == [1] // true
1 == '1' // true
1 == [1] // true
[1] == true // true
[] == false // true
为false的时候
1 == {} // false
1 == null // false
1 == undefined // false
1 == NaN // false
1 == null // false
1 == undefined // false
1 == NaN // false
[] == [] // false
[1] == [1] // false
[1] == {} // false
[1] == {a:1} // false
[1] == false // false
[1] == null // false
[1] == undefined // false
[1] == NaN // false
{} == {} // false
{a:1} == {a:1} // false
注:
空数组[],在+运算符下是转为空字符串'',在*运算符下是转为数字0。但在if语句中,则转为true。以上这篇对存在JavaScript隐式类型转换的四种情况的总结(必看篇)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持编程之家。
原文链接:https://www.f2er.com/js/36742.html