只要你做过项目,肯定涉及到了数据类型转换.
数据类型转换大致分为3个类型:
转化为布尔值
转化为字符串
转化为数字
我们从这3个类型结合项目经常使用的点去讲解
== === Boolean
实际项目中,我们最常用到的if内部的隐式转换,调用的就是Boolean();
Boolean(x),当x的内容是null,undefined,NaN,0,false,‘‘时转化为false,其余类型转化为true
比较返回的是布尔值,但是会先对两边的数据进行转化,转化为同一类型的数据进行比较,在决定返回false还是true.
实际开发中我们常用的比较都类似1==‘1’这种基本类型比较,或者是对象类型比较,对象类型因为引用地址不同,结果为false
===比较返回的是布尔值,并且两边的数据不进行转化,直接比较
项目开发中经常遇到基本数据类型++‘字符串‘
var a={
b:1
}
a.b+‘1‘//‘11‘
let a=new String(1)//比较少用
let a=‘1‘//用得多
对象类型转化为基本类型用的多
var arr=[1,2,3];
arr.toString()//‘1,2,3‘
Number 除了+外的运算符 parseInt() parseFloat()
除了+外的运算只要一方是数字就会转化为数字
项目中经常用到
var a=‘11‘
a-0;//转化为数字
转换的内容包含非数字的时候,Number() 会返回NaN(Not a Number)
parseInt() 要看情况,如果以数字开头,就会返回开头的合法数字部分,如果以非数字开头,则返回NaN
parseFloat() 只解析十进制,返回能够组成合法数字的连贯的内容
原文:https://www.cnblogs.com/liuXiaoDi/p/12913515.html