JavaScript 基本數據類型轉換你瞭解嘛
前言
數據類型轉換是我們在前端開發中經常遇到的場景,一般而言,在 JavaScript 中類型轉換有三種情況:
- 轉換為數字(調用 Number(),parseInt(),parseFloat()方法)
- 轉換為字符串(調用.toString()或 String()方法)
- 轉換為佈爾值(調用 Boolean()方法)
需要註意的是:null、undefined 沒有.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 如果第一個字符不是數字或者符號就返回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
其餘的所有值都會被轉換為 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
總結
以上就是 JavaScript 基本數據類型轉換相關的知識總結,其中最需要註意的是隱式轉換。
本篇文章就到這裡瞭,希望能夠給你帶來幫助,也希望您能夠多多關註WalkonNet的更多內容!
推薦閱讀:
- 一篇文章帶你搞懂JavaScript的變量與數據類型
- JavaScript數據類型轉換詳解(推薦)
- JavaScript數據類型轉換實例(其他類型轉字符串、數值型、佈爾類型)
- ECMAScript 數據類型之Number類型
- JavaScript變量類型以及變量之間的轉換你瞭解嗎