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 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值