您好,登錄后才能下訂單哦!
小編給大家分享一下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
將數字和字符串轉換為布爾值可以允許我們在二進制術語中計算數據,并且可以用于程序中的控制流。
以上是JavaScript中的數據類型轉換是什么的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。