用JavaScript投放

如何在JavaScript中將一種數據類型轉換為另一種數據類型

即使JavaScript是一種鬆散類型的語言,您也可能需要將一個值從一種類型轉換為另一種。

在JavaScript中,我們具有以下原始類型:

  • Number
  • String
  • Boolean
  • Symbol

和對像類型:

  • Object

(加nullundefined,但從/向他們投射毫無意義)

例如,您可能要轉換:

  • 一個數字到一個字符串
  • 字符串到數字
  • 布爾值的字符串
  • 字符串的布爾值

…等等。

這是可用於從一種類型轉換為另一種類型的技術。我介紹了最常見的情況。

轉換為字符串

通常,從任何內容轉換為字符串通常只需調用toString()方法對任何值進行處理,JavaScript會創建與該類型相對應的字符串值。或者您可以將任何值傳遞給String()全局功能。

從數字到字符串的轉換

使用字符串全局函數或數字類型toString()方法:

String(10) //"10"
(10).toString() //"10"

從布爾值轉換為字符串

使用String全局函數或Boolean類型toString()方法:

String(true) //"true"
true.toString() //"true"
String(false) //"false"
false.toString() //"false"

從日期到字符串的轉換

使用字符串全局函數或日期類型toString()方法:

String(new Date('2019-01-22'))
//"Tue Jan 22 2019 01:00:00 GMT+0100 (Central European Standard Time)"

(new Date('2019-01-22')).toString()
//"Tue Jan 22 2019 01:00:00 GMT+0100 (Central European Standard Time)"

帶弦的特殊情況

String(null) //"null"
String(undefined) //"undefined"
String(NaN) //"NaN"

轉換為數字

從字符串轉換為數字

我們可以使用Number()全局函數,有點像構造函數。我們可以給它傳遞一個字符串,JavaScript會弄清楚如何將其轉換為數字:

Number("1") //1
Number("0") //0

在將字符串轉換為數字之前對其進行修剪:

Number(" 1 ") //1

傳遞一個空字符串默認為0:

Number("") //0

要使用小數,可以使用點:

Number("12.2")

如果字符串包含無效字符,它將生成一個NaN

這是轉換為數字的基礎,但是我在其中提供了更多詳細信息如何在JavaScript中將字符串轉換為數字。還有其他從字符串生成數字的方法,包括parseInt()parseFloat()Math.floor()一元+操作員。

從布爾值轉換為數字

就像我們對字符串所做的那樣,將布爾值傳遞給Number()將返回0或1:

Number(true) //1
Number(false) //0

從日期到數字的轉換

如果您將Date對像傳遞給Number(),它將返回日期時間戳,這是您可以獲得的最佳數字轉換日期。

帶數字的特殊情況

Number(null) //0
Number(undefined) //NaN
Number(NaN) //NaN

轉換為布爾值

任何值都可以轉換為boolean並將其傳遞給Boolean()

所有值都將解析為true除了:

Boolean(false) //false
Boolean(0) //false
Boolean(NaN) //false
Boolean("") //false
Boolean(null) //false
Boolean(undefined) //false

免費下載我的JavaScript初學者手冊


更多js教程: