您好,登錄后才能下訂單哦!
小編給大家分享一下javascript進行類型強制轉換的方法,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!
強制轉換方法:1、使用String()、Number()或toString()函數進行字符串與數字之間的顯示類型轉換;2、使用Boolean()函數將值轉換為布爾值;3、使用“+”、“-”運算符進行字符串和數字之間的隱式類型轉換。
本教程操作環境:windows7系統、javascript1.8.5版、Dell G3電腦。
字符串和數字之間的轉換是通過 String(..) 和 Number(..) 這兩個內建函數。
除了 String(..) 和 Number(..) 以外,還有其他方法可以實現字符串和數字之間的顯式 轉換:
let a = 42; let b = a.toString(); let c = "3.14"; let d = +c; b; // "42" d; // 3.14
a.toString() 是顯式的,不過其中涉及隱式轉換。因為 toString() 對 42 這樣的基本類型值不適用,所以 JavaScript 引擎會自動為 42 創建一個封裝對象,然后對該對象調用 toString()。這里顯式轉換中含有隱式轉換。
let a = "0"; let b = []; let c = {}; let d = ""; let e = 0; let f = null; let g; Boolean( a ); // true Boolean( b ); // true Boolean( c ); // true Boolean( d ); // false Boolean( e ); // false Boolean( f ); // false Boolean( g ); // false
雖然 Boolean(..) 是顯式的,但并不常用。顯式強制類型轉換為布爾值最常用的方法是 !!
let a = "0"; let b = []; let c = {}; let d = ""; let e = 0; let f = null; let g; !!a; // true !!b; // true !!c; // true !!d; // false !!e; // false !!f; // false !!g; // false
(1)+運算符
即能用于數字加法,也能用于字符串拼接
如果 + 的其中一個操作數是字符串(或者通過對其調用 ToPrimitive 抽象操作得到字符串), 則執行字符串拼接;否則執行數字加法。因為數組的 valueOf() 操作無法得到簡單基本類型值,于是它轉而調用 toString()。因此下例中的兩個數組變成了 "1,2" 和 "3,4"。+ 將它們拼接后返回 "1,23,4"。
let a = "42"; let b = "0"; a + b; // "420" let c = 42; let d = 0; c + d; // 42 let x = [1,2]; let y = [3,4]; x + y; // "1,23,4"
可以使用+運算符進行字符串轉換,將數字和空字符串 "" 相 + 來將其轉換為字符串
let a = 42; let b = a + ""; b; // "42"
a + ""(隱式)和前面的String(a)(顯式)之間有一個細微的差別需要注意。
根據 ToPrimitive抽象操作規則,a + ""會對a調用valueOf()方法,然后通過ToString抽象 操作將返回值轉換為字符串。而 String(a) 則是直接調用 ToString()。它們最后返回的都是字符串,但如果 a 是對象而非數字結果可能會不一樣
let a = { valueOf: function() { return 42; }, toString: function() { return 4; } }; a + ""; // "42" String( a ); // "4"
(2)從字符串強制類型轉換為數字的情況
-是數字減法運算符,因此a - 0會將a強制類型轉換為數字。也可以使用a * 1和a /1,因為這兩個運算符也只適用于數字,只不過這樣的用法不太常見
let a = [3]; let b = [1]; a - b; // 2
1、js屬于一種解釋性腳本語言;2、在絕大多數瀏覽器的支持下,js可以在多種平臺下運行,擁有著跨平臺特性;3、js屬于一種弱類型腳本語言,對使用的數據類型未做出嚴格的要求,能夠進行類型轉換,簡單又容易上手;4、js語言安全性高,只能通過瀏覽器實現信息瀏覽或動態交互,從而有效地防止數據的丟失;5、基于對象的腳本語言,js不僅可以創建對象,也能使用現有的對象。
看完了這篇文章,相信你對“javascript進行類型強制轉換的方法”有了一定的了解,如果想了解更多相關知識,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。