java隐式(自动)类型转换的那些事

本文详细阐述了JavaScript中加法运算符的特殊性,包括字符串拼接与数值转换规则。同时介绍了减乘除运算时的非Number类型转换,并讲解了逻辑语句中的布尔转化及比较规则,涉及ToPrimitive转换规则。对于开发者理解JavaScript中的类型转换和操作符行为具有指导意义。
摘要由CSDN通过智能技术生成

1、加法(具有特殊性)

因为+还可以拼接字符,故具有一定特殊性。

规则:

  • 当一侧为String类型,被识别为字符串拼接,并会优先将另一侧转换为字符串类型。
  • 当一侧为Number类型,另一侧为原始类型,则将原始类型转换为Number类型。
  • 当一侧为Number类型,另一侧为引用类型,将引用类型和Number类型转换成字符串后拼接

2.减乘除

我们在对各种非Number类型运用数学运算符(- * /)时,会先将非Number类型转换为Number类型。

3、逻辑语句

1、单个变量转化为布尔数据类型

2、使用==比较中的5条规则

  • 布尔数据类型和其他任何类型的比较,布尔数据类型首先被转换为Number类型。
  • StringNumber比较,先将String转换为Number类型。例如:‘123‘变为123,’’变为0
  • 原始类型引用类型做比较时,引用类型会依照ToPrimitive规则转换为原始类型。【ToPrimitive规则,是引用类型向原始类型转变的规则,它遵循先valueOf(valueOf() 方法用于返回给定参数的原生 Number 对象值toString(返回一个“以文本方式表示”此对象的字符串的模式期望得到一个原始类型。】如果还是没法得到一个原始类型,就会抛出 TypeError。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值