【详解】JavaScript面试题大坑:隐式类型转换!

黑马程序员视频库

播妞微信号:heiniu526

传智播客旗下互联网资讯、学习资源免费分享平台

隐式转换介绍

在js中,当运算符在运算时,如果两边数据不统一,CPU就无法计算,这时我们编译器会自动将运算符两边的数据做一个数据类型转换,转成一样的数据类型再计算。这种无需程序员手动转换,而由编译器自动转换的方式就称为隐式转换。

例如1 > "0"这行代码在js中并不会报错,编译器在运算符时会先把右边的"0"转成数字0`然后在比较大小

隐式转换规则

1. 转成string类型:+(字符串连接符) 2..转成number类型:++/--(自增自减运算符) + - * / %(算术运算符) > < >= <= == != === !=== (关系运算符)

2. 转成boolean类型:!(逻辑非运算符)

坑一:字符串连接符与算术运算符隐式转换规则混淆

常见面试题如下:

原理分析

坑二:关系运算符:会把其他数据类型转换成number之后再比较关系

常见面试题如下:


原理分析:

坑三:复杂数据类型在隐式转换时会先转成String,然后再转成Number运算

 

原理分析:

坑四:逻辑非隐式转换与关系运算符隐式转换搞混淆

前方高能,请注意~

空数组的toString()方法会得到空字符串,而空对象的toString()方法会得到字符串`[object Object]` (注意第一个小写o,第二个大写O哟)。

常见面试题:

原理分析:

大家学会了吗?

关注黑马程序员视频库

更多知识在等你

END

重磅!华为鸿蒙OS 2.0 发布,开放源代码!关注已达4.7k

2020-09-11

诸神归位!《姜子牙》定档!超唯美设计背后这群人有多牛?

2020-09-14

美女反追程序大佬,却因性别歧视只能女扮男装进公司....

2020-08-29


点击“在看” 为播妞加鸡腿

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值