首頁  >  文章  >  web前端  >  了解JavaScript中的資料型別轉換

了解JavaScript中的資料型別轉換

青灯夜游
青灯夜游轉載
2020-10-19 17:50:152021瀏覽

了解JavaScript中的資料型別轉換

在JavaScript中,資料類型用於對特定類型的資料進行分類,確定可以指派給該類型的值以及可以對其執行的操作。

雖然因為型別強制,JavaScript會自動轉換許多值,但為了達到預期的結果,通常最好在型別之間手動轉換值。

本教學將引導您轉換JavaScript的基本資料類型,包括數字、字串和布林值。

隱含轉換

作為程式語言,JavaScript對意外值的容忍度很高。因此,JavaScript將嘗試轉換意外值,而不是直接拒絕它們。這種隱式轉換稱為型別強制。

有些方法會自動轉換值以便使用它們。 alert()方法接受一個字串作為參數,但它將自動將其他類型轉換為字串。因此,我們可以傳遞一個數值給方法:

alert(8.5);

如果我們運行上面的程式碼行,瀏覽器將傳回一個彈出的警告對話框,其中顯示8.5值,但是它將被轉換為一個字串。

當使用可以透過數學運算子計算為數字的字串時,您將發現JavaScript能夠透過隱含地將字串轉換為數字來處理這些值,如下面的範例所示。

// Subtraction
"15" - "10";

#輸出:5

// Modulo
"15" % "10";

#輸出:5

然而,並不是每個運算子都能像預期的那樣運作。運算子有明顯的問題,因為它可以表示加法或字串連接。

// When working with strings, + stands for concatenation
"2" + "3";

輸出:"23"

由於運算子是多用途的,因此儘管是數字字串,但字串值2和3連接為字串值23,而不是加在一起成為數字5。

由於模糊性可能存在,有時會導致意外的結果,所以通常最好在程式碼中明確地轉換盡可能多的資料類型。這將有助於管理來自使用者的輸入和處理錯誤。

將值轉換為字串

可以透過呼叫String()或N.ToString()將值明確轉換為字串。

使用String()函數,讓我們透過將值true傳遞給String()的參數,將布林值轉換為字串。

String(true);

當我們這樣做時,字串文字「true」將會傳回。

輸出:"true"

或者,我們可以向函數傳遞一個數字。

String(49);

將傳回該數字的字串文字。

輸出:"49"

讓我們將String()函數與變數一起使用。我們將為變數odyssey分配一個數字值,然後使用typeof運算子來檢查類型。

let odyssey = 2001;
console.log(typeof odyssey);

輸出:number

此時,變數odyssey被賦予2001的數值,我們已經確認它是一個數字。

現在,讓我們將odyssey重新分配到它的字串等效值,然後使用typeof來確認我們已經成功地將變數的值從一個數字轉換為字串。

odyssey = String(odyssey); // "2001"
console.log(typeof odyssey);

輸出:string

在上面的範例中,我們已經確認,在資料類型轉換之後,將odyssey重新賦值為一個字串值。

我們可以用類似的方式使用n.toString()。我們可以用變數取代n:

let blows = 400;
blows.toString();

變數blow將作為字串傳回。

輸出:"400"

或者,我們可以把值放在圓括號內,而不是用n.toString()變數:

(1776).toString(); // returns "1776"
(false).toString(); // returns "false"
(100 + 200).toString(); // returns "300"

透過使用String()或n.toString(),我們能夠明確地將布林值或數字資料類型的值轉換為String值,以確保程式碼的行為符合我們的預期。

將值轉換為數字

在將值轉換為數字資料類型時,我們將使用number()方法。首先,我們將把數字文字字串轉換為數字,但我們也可以轉換布林值。

我們可以將一個數字字串傳遞給number()方法:

Number("1984");

字串將被轉換為一個數字,不再用引號括起來。

輸出:1984

我們也可以將一個字串賦值給一個變量,然後對其進行轉換。

let dalmatians = "101";
Number(dalmatians);

輸出:101

字串文字「101」透過其變數轉換為數字101。

空白字串或空字串將轉換為0。

Number(" "); // returns 0
Number(""); // returns 0

注意,非數字字串將轉換為NaN, NaN表示非數字。這包括用空格分隔的數字。

Number("twelve"); // returns NaN
Number("20,000"); // returns NaN
Number("2 3"); // returns NaN
Number("11-11-11"); // returns NaN

對於布林資料類型,false的值為0,true的值為1。

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

方法的作用是:將非數字資料型別轉換為數字。

將值轉換為布林值

要將數字或字串轉換為布林值,可以使用Boolean()方法。例如,這對於確定使用者是否將資料輸入文字欄位非常有用。

任何被解釋為空的值,如數字0、空字串或未定義的值、NaN或null,都轉換為false。

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

其他值將轉換為true,包括由空格組成的字串文字。

Boolean(2000); // returns true
Boolean(" "); // returns true
Boolean("Maniacs"); // returns true

注意,「0」作為字串文字將轉換為真,因為它是一個非空字串值:

Boolean("0");   // returns true

将数字和字符串转换为布尔值可以允许我们在二进制术语中计算数据,并且可以用于程序中的控制流。

相关免费学习推荐:js视频教程

以上是了解JavaScript中的資料型別轉換的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:digitalocean.com。如有侵權,請聯絡admin@php.cn刪除