JS面试知识点1-JS类型转换

要掌握类型转换的规则:

对象转原始数据类型:

会调用内置的[[toprimitive]]函数,该函数的一般逻辑是:

  • 调用x.valueOf(); 如果返回原始类型,则返回该原始类型
  • 调用toString(); 如果返回原始类型,则返回该原始类型
  • 如果都没有返回,则报错

条件判断:

undefined,null,false ,0,-0,NaN,' ',其他都会被转换为true;包括对象,不管是不是空对象。

运算符转换:

加减运算符规则:

  • 运算符其中一方为字符串,则会把另一方转为字符串
  • 如果一方不是字符串或数字,则将其转换为数字或字符串
  • 如果其中一方是数字,则将另一方转为数字
1 + '1' //'11'
true + true //2
4 + [1,2,3] //41,2,3  //[1,2,3]转字符串'1,2,3'=>4+'1,2,3'=>'41,2,3'
// 特殊情况
'a' + + 'b' //'aNaN' 因为+ 'b' => NaN
4 * '3' //12
4 * [] //0
4 * [1,2] //NaN // [1,2]转数字NaN 

猜你喜欢

转载自blog.csdn.net/weixin_43374360/article/details/108823365
今日推荐