一、n 转为String类型
- n.toString()
- String(n)
- n + ‘’
String(true) //"true"
String(10) //"10"
//报错是因为null,undefined 是没有toString()方法的,他们只有一个值,就是它自己本身
null.toString() //Cannot read property 'toString' of null 。
undefined.toString() //Cannot read property 'toString' of undefined
a={};a.toString() //"[object Object]"
1+'' //"1"
true + '' //"true"
null + '' //"null"
undefined+'' //"undefined"
a={};a+'' //"[object Object]"
二、n 转为number类型
- Number(n)
- parseInt(n,10) ----转为整数类型,后面的是转为进制数,默认是10进制
- parseFloat(n) ----转为浮点类型
- +n ----取正
- n-0 ----减0
parseInt("10.98") //10
parseInt("78admin23") //78
parseInt("admin23") //NaN
parseInt("0110",10) //110
parseInt("0110",2) //6
parseFloat("10.98222") //10.98222
三、n 转为boolean类型
- Boolean(n)
- !! n
0 与NaN 为false,其余都是true
空字符串""为false,其余都是true
object全部都是true
!!1 //true
!!2 //true
!!-1 //true
!!0 //false
!!"333" //true
!!" " //true
!!"" //false
!!{} //true
!!{name:"张三"} //true
四、7个falsy值
-falsy 是Boolean上下文中认定可转换为false的值。
-5个特殊的falsy值:0 , null , “”(空字符串),’’ (空字符串),NaN,undefined,false
!!0 //false
!!null //false
!!"" //false
!!'' //false
!!NaN //false
!!undefined //false
!!false //false