【JS面试题】变量计算-类型转换

  1. 字符串拼接
  2. ==
  3. If语句和逻辑运算

字符串拼接:

const a = 100 + 10 //110
const b = 100 + '10' //'10010'
const c = true + '10' // 'true10'

100 + parseInt(‘10’) = 110

== 运算符

100 == '100' //true
0 == '' // true
0 == false //true
false == '' //true
null == undefined //true

记住这个规律:

//除了 == null 之外,其他都一律用 === , 例如:

const obj = {
      x: 100 }
if(obj.a == null) {
      }
//相当于:
//if(obj.a === null || obj.a === undefined)  { }

If语句和逻辑运算

truly变量:!!a === true 的变量
falsely变量:!!a === false 的变量

【JS面试题】变量计算-类型转换_第1张图片
【JS面试题】变量计算-类型转换_第2张图片
NaN:not a number 不是一个数字,但它是特殊的数字类型
!!0 === false
!!NaN === false
!!’’ === false
!!null === false
!!undefined === false
!!false === false
【JS面试题】变量计算-类型转换_第3张图片
逻辑判断:

console.log(10 && 0) //0
console.log('' || 'abc') //'abc'
console.log(!window.abc) //true

10是truely变量,会往后继续判断,直到falsely变量

如果直接是falsely变量,直接返回当前变量
【JS面试题】变量计算-类型转换_第4张图片
【JS面试题】变量计算-类型转换_第5张图片

你可能感兴趣的:(JavaScript,前端面试,javascript)