JS里的數(shù)據(jù)類型轉(zhuǎn)換(轉(zhuǎn)載)

本文轉(zhuǎn)載自https://zhuanlan.zhihu.com/p/48955605

js里數(shù)據(jù)類型包括其中:number、string、symbol、Boolean、null、undefined、object。我們所希望進(jìn)行的數(shù)據(jù)類型轉(zhuǎn)換大概包括以下幾種:

  1. 轉(zhuǎn)為string類型
  • 方法一:瀏覽器自帶API:String()方法。

eg: String(123) //"123"

String(true) //"true"

String(null) //"null"

String(undefined) //"undefined"

  • 方法二:toString()方法。

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

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

null、undefined沒有toString()方法;

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

  • 方法三:+“”加空字符串,利用+的連接符特性(與字符串相加,優(yōu)先將非字符串的數(shù)據(jù)轉(zhuǎn)為字符串,再進(jìn)行連接)。

eg: 1+"" //"1"

true+"" //"true"

null+"" //"null"

undefined+"" //"undefined"

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

2. 轉(zhuǎn)為number類型

一般都是將字符串里的數(shù)字轉(zhuǎn)為number類型

方法一:Number()方法:但凡有不能轉(zhuǎn)換的,直接返回NaN

eg: Number("123") //123

Number("a") //NaN

Number("1a2") //NaN

  • 方法二:parseInt()方法,它會(huì)按順序轉(zhuǎn)換可以轉(zhuǎn)換的,若無法轉(zhuǎn)換,則停止,返回已轉(zhuǎn)換了的,這是與Number()方法的不同之處

eg: parseInt("1",10)//將字符串“1”轉(zhuǎn)為10進(jìn)制數(shù)字:1;

parseInt("1a234") //1

parseInt("011") //11

parseInt("s") //NaN

  • 方法三:parseFloat()方法

eg: parseFloat("1.23") //1.23

parseFloat("1.s2") //1

parseFloat("1.2s5") //1.2

parseFloat("s") // NaN

  • 方法四:-0 方法,利用減號(hào)的運(yùn)算特性(與數(shù)字相減,優(yōu)先將非數(shù)字的轉(zhuǎn)換為數(shù)字類型,再進(jìn)行運(yùn)算

eg: "1"-0 //1

"1.23"-0 //1.23

"1.32s4"-0 //NaN

  • 取正方法

eg: +"1"http:// 1

+".1" //0.1

+"-1" //-1

-"-1" //1

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

+"s" //NaN

3. 轉(zhuǎn)為Boolean類型

  • 方法一:Boolean()方法

Boolean(1) //true

Boolean({}) //true

Boolean([]) //true

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

Boolean(0) //false

Boolean(NaN) //false

Boolean("") //false

Boolean(null) //false

Boolean(undefined) //false

只有這五個(gè)fasly值:0,NaN, ""(空字符串), null, undefined 轉(zhuǎn)為Boolean類型時(shí)為false。

  • falsy值的定義:在Boolean上下文中認(rèn)定可轉(zhuǎn)換為false的值

  • 方法二:兩次取反

eg: !!true //true

!!1 //true

!!0 //false

!!{} //true

所有的對(duì)象(包括空對(duì)象、空數(shù)組、函數(shù))轉(zhuǎn)Boolean都是true!!!!!

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容