javascript中变量计算-类型转换
2020-04-14 本文已影响0人
loushumei
字符串拼接
字符换+数字:数字转换成字符串
字符换+布尔:布尔值转换成字符串
console.log(100 + 10) //110
console.log(100 + '10') //10010 字符换+数字:数字转换成字符串
console.log(true + '10') //true10 字符换+布尔:布尔值转换成字符串
“==”运算符
“==“ 会做隐式类型转换 ”===“ 先比较是否是同一类型,若不是返回false,不继续进行比较
除了”==“null之外,其他一律用 ”===“
console.log(100 == '100') //true
console.log(0 == '') //true
console.log(0 == false) //true
console.log('' == false) //true
console.log(null == undefined) //true
const obj = {
x: 100
}
if (obj.a == null) {}
相当于
if (obj.a === null || obj.a === undefinde) {}
if语句和逻辑运算符
truly变量:!!a===true的变量 (经过两步非运算为true的变量)
falsely变量:!!a===false的变量
以下是falsely变量,除此之外都是truely变量
console.log(!!0 === false)
console.log(!!NaN === false)
console.log(!!'' === false)
console.log(!!null === false)
console.log(!!undefined === false)
console.log(!!false === false)
逻辑判断
console.log(10 && 0) //0 --&& 遇到falsely变量直接返回
console.log('' || 'abc') //'abc' -|| 遇到truely变量直接返回