隐式转换介绍
在js中,当运算符在运算时,如果 两边数据不统一,CPU就无法计算,这时我们编译器会自动将运算符两边的数据做一个数据类型转换,转成一样的数据类型再计算
这种无需程序员手动转换,而由编译器自动转换的方式就称为 隐式转换
隐式转换规则
转化类型 | 运算符 | 说明 |
---|---|---|
转换成 String | + ‘任意字符串’ | + 任意一边有字符串 + 都认为字符串连接符 |
转换成 Number | ++/-- (自增自减运算符) + - * / % (算术运算符) > < >= <= == != === !=== (关系运算符) |
转换为 Number 再进行运算 |
转换成 Boolean | !(逻辑非运算符) | 自动转化成 Boolean |
得到 false : 0 , -0 , NaN , null , undefined , “空字符串” , false ,document.all()
其他情况为 true
例:
console.log( 1 + 'true') // '1true' 字符串连接符
console.log( 1 + true ) // 2 1 + Number(true)
console.log( 1 + undefined )// NaN 1 + Number(undefined)
console.log(