JS里的数据类型转换(转载)

2019-04-01  本文已影响0人  基拉巴乔

本文转载自https://zhuanlan.zhihu.com/p/48955605

js里数据类型包括其中:number、string、symbol、Boolean、null、undefined、object。我们所希望进行的数据类型转换大概包括以下几种:

  1. 转为string类型

eg: String(123) //"123"

String(true) //"true"

String(null) //"null"

String(undefined) //"undefined"

eg: a=1; a.toString() //"1"

(true).toString() //"true"

null、undefined没有toString()方法;

object.toString() // [object, Object]→并非想要的;

eg: 1+"" //"1"

true+"" //"true"

null+"" //"null"

undefined+"" //"undefined"

obj={}; obj+"" // [object, Object]→并非想要的;

2. 转为number类型

一般都是将字符串里的数字转为number类型

方法一:Number()方法:但凡有不能转换的,直接返回NaN

eg: Number("123") //123

Number("a") //NaN

Number("1a2") //NaN

eg: parseInt("1",10)//将字符串“1”转为10进制数字:1;

parseInt("1a234") //1

parseInt("011") //11

parseInt("s") //NaN

eg: parseFloat("1.23") //1.23

parseFloat("1.s2") //1

parseFloat("1.2s5") //1.2

parseFloat("s") // NaN

eg: "1"-0 //1

"1.23"-0 //1.23

"1.32s4"-0 //NaN

eg: +"1"// 1

+".1" //0.1

+"-1" //-1

-"-1" //1

-(-"-1")//-1

+"s" //NaN

3. 转为Boolean类型

Boolean(1) //true

Boolean({}) //true

Boolean([]) //true

Boolean(" ")//(里面是空格字符)true

Boolean(0) //false

Boolean(NaN) //false

Boolean("") //false

Boolean(null) //false

Boolean(undefined) //false

只有这五个fasly值:0,NaN, ""(空字符串), null, undefined 转为Boolean类型时为false。

eg: !!true //true

!!1 //true

!!0 //false

!!{} //true

所有的对象(包括空对象、空数组、函数)转Boolean都是true!!!!!

上一篇 下一篇

猜你喜欢

热点阅读