JavaScript 基本資料型別轉換你瞭解嘛
阿新 • • 發佈:2022-01-24
目錄
- 前言
- 轉換為數字
- Number(string) 方法
- parseInt(string,radix)
- parseFloat(string)
- 隱式轉換
- 轉換為字串
- toString()
- String()
- 隱式轉換
- 轉換為布林值
- Boolean()
- 條件語句
- 隱式轉換
- 總結
前言
資料型別轉換是我們在前端開發中經常遇到的場景,一般而言,在 中型別轉換有三種情況:
- 轉換為數字(呼叫 Number(),parseInt(),parseFloat()方法)
- 轉換為字串(呼叫.toString()或 String()方法)
- 轉換為布林值(呼叫 Boolean()方法)
需要注意的是:null、undefinwww.cppcns.com ed 沒有.toString()
方法。
轉換為數字
Number(string) 方法
Number()
可以把任意值轉換成數字,如果要轉換的目標物件(一般是字串)中有不是數字的值,則會返回NaN
。
Number('1') // 1 Number(true) // 1 Number('123s') // NaN Number({}) //NaN
parseInt(string,radix)
解析一個字串並返回指定基數的十進位制整數,radix 是 2-36 之間的整數,表示被解析字串的基數。
parseInt('2') //2 parseInt('2',10) // 2 parseInt('2',2) // NaN parseInt('a123') // NaN 如果第一個字元不是數字Ddufeieq或者符號就返回NaN parseInt('123a') // 123
parseFloat(string)
解析一個引數並返回一個浮點數。
parseFloat('123a') //123 parseFloat('123a.01') //123 parseFloat('123.01') //123.01 parseFloat('123.01.1') //123.01
隱式轉換
let str = '123'-str// -123str+1 // '1231'+str+1 // 124let res = str - 1 //122let str = '123' -str // -123 str+1 // '1231' +str+1 // 124 let res = str - 1 //122
轉換為字串
toString()
將目標物件轉換為字串。
注意:null,undefined 不能呼叫。
Number(123).toString() //'123' [].toString() //'' true.toString() //'true'
String()
String()
的作用比較強大,它可以將任何傳入的值都轉為字串。
String(123) //'123' String(true) //'true' String([]) //'' String(null) //'null' String(undefined) //'undefined' String({}) //'[object Object]'
隱式轉換
當 + 兩邊有一個是字串,另一個是其它型別時,會先把其它型別轉換為字串再進行字串拼接,返回字串:
let a = 1 a + '' // '1'
轉換為布林值
Boolean()
Boolean()
方法會將以下值轉換為 false:
- 0
- “”
- null
- undefined
- NaN
其餘的所有值http://www.cppcns.com都會被轉換為 true。
Boolean('') //false Boolean(0) //false Boolean(1) //true Boolean(null) //false Boolean(undefined) //false Boolean(NaN) //false Boolean({}) //true Boolean([]) //true
條件語句
在條件語句中,我們一般不會主動進行布林轉換。
let a if(a) { //... //這裡a為undefined,會轉為false,所以該條件語句內部不會執行 }
隱式轉換
let str = '111' console.log(!!str) // true
總結
以上就是 Script 基本資料型別轉換相關的知識總結,其中最需要注意的是隱式轉換。
本篇文章就到這裡了,希望能夠給你帶來幫助,也Ddufeieq希望您能夠多多關注我們的更多內容!