数据类型转换
类型转换可以分为两种:隐式类型转换和显式类型转换
显式类型强制转换:是指当开发人员通过编写适当的代码用于在类型之间进行转换,比如:Number(value)
隐式转换(自动转换):当运算符在运算时,如果两边数据类型不统一,CPU就无法计算,JS引擎会自动将运算符两边的数据做一个数据类型转换,转成一样的数据类型再计算,这种无需程序员手动转换,而由JS引擎自动转换的方式就称为隐式转换
在JS中只有3种类型的转换
显式转换成数值类型
Number(变量)函数实现
特点:若转换的值包含非数字则 直接得到一个NaN。
true会转换为数字1
false会转换为数字0
parseInt(变量名):提取变量前面的整数,如果遇到非数字,则停止向后提取。
parseFloat(变量名):提取变量前面的小数(浮点数),如果遇到非数字,则停止向后提取。
注意:parseInt和parseFloat,如果是对于非数字开头的,则得到NaN。
+,-等运算的技巧
parseFloat(price2)
显式转换成布尔类型
先认识下真值和假值:
假值(falsy):JS中假值有6个。false、undefined、null、0、NaN、
''(空字符)。假值转换成布尔类型都是false
真值(truthy):除了以上6个假值,其他任意数据都是真值。真值转换成布尔类型都是true
方式1:Boolean(变量):此函数可以实现将其它的类型转换为布尔类型
方式2:双感叹号技巧。
!!变量名转化为 boolean类型
一个感叹号!是取反得到布尔类型的值,双!!就是取反两次。
显式转换成字符串类型
隐式转换
隐式转换:当运算符在运算时,如果两边数据类型不统一,CPU就无法计算, JS引擎会自动将运算符两边的数据做一个数据类型转换,转成一样的数据类型再计算,这种无需程序员手动转换,而由JS引擎自动转换的方式就称为隐式转换。
隐式转换规则:
加法操作若有一边是类型,则两边优先转字串类型,就变成了字符串拼接操作
其他都两边统一转数值类型。
true或false和数值型进行运算时,会把true转换成1,false转成0
领取专属 10元无门槛券
私享最新 技术干货