如何正确理解隐式转换和显示转换

在 JavaScript 中数据被分成了不同的类型,如数值、字符串、布尔值、undefined,在实际编程的过程中,不同数据类型之间存在着转换的关系。

那什么是隐式转换呢?某些运算符被执行时,系统内部自动将数据类型进行转换,这种转换称为隐式转换。

+号两边只要有一个是字符串,都会把另外一个转成字符串

除了+以外的算术运算符 比如 - * / 等都会把数据转成数字类型

+号作为正号解析可以转换成数字型,任何数据和字符串相加结果都是字符串。

例如:

console.log(11 + 11) //22
console.log('11' + 11) //1111
console.log(11 - 11) //0
console.log('11' - 11) //0
console.log(1 * 1) //1
console.log('1' * 1) //1
console.log(typeof '123') //string
console.log(typeof + '123') //number
console.log(+'11' + 11) //22

了解了隐式转换,那我们来说说显示转换。编写程序时过度依靠系统内部的隐式转换是不严禁的,因为隐式转换规律并不清晰,大多是靠经验总结的规律。 为了避免因隐式转换带来的问题,通常根逻辑需要对数据进行显示转换。自己写代码告诉系统该转成什么类型。

转换为数字型的方法有:

 // 1 转换为数字型
    // 1.1 Number()
    let str = '123'
    console.log(typeof Number(str)) //number
    console.log(Number('aaa')) //NaN
    console.log(Number('啊啊啊')) //NaN
    console.log('----------------------------')
    // 1.2 parseInt() 保留整数
    console.log(parseInt('12px')) //12
    console.log(parseInt('12.56')) //12
    console.log(parseInt('abcd12.56px')) //NaN
    // 1.3 parseFloat() 保留小数
    console.log(parseFloat('12.56')) //12.56
    console.log(parseFloat('12.56px')) //12.56
    console.log(parseFloat('abcd12.56px')) //NaN
    console.log(parseFloat('13')) //13

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值