Javascript類型轉換詳解
類型轉換
1.String->Number
const string = "99"; // 隱式轉換 console.log(string * 1 + 77); // 顯式轉換 console.log(Number(string) + 77);
2.Number->String
const number = 66; console.log(typeof number); // 隱式轉換 console.log(typeof (number + "")); // 顯式轉換 console.log(typeof String(number));
3.混合String->Number
把位於開頭的數值字符串轉為數值型
const string = "66.66alison"; console.log(parseInt(string)); console.log(parseFloat(string));
4.String->Array
const name = "alison"; console.log(name.split(""));
5.Array->String
const array = ["yooo", "alison", "ruby", "andy"]; console.log(array.join("")); console.log(array.join("&"));
6.Array->Number
空數組為0,x單元素數組為x,多元素數組為NaN
console.log(Number([])); console.log(Number([3])); console.log(Number([1, 2, 3]));
7.toString()
主要用於將Array(由逗號隔開)、Boolean、Date、Number等對象轉換成String。
const array = ["yooo", "alison", "ruby", "andy"]; console.log(array.toString()); const number = 99; console.log(typeof number.toString());
8.Boolean隱式轉換
比較和運算是兩件事
(1)比較
在將boolean與number、string比較時,會隱式地將boolean中的true轉為1、false轉為0
let number = 99; console.log(number == true);
let hd = '0'; let hd2 = "1"; let hd3 = "99"; console.log(hd == false); console.log(hd2 == true); console.log(hd3 == true);
(2)運算
在運算中string和number會被隱式轉換為boolean
let number = 99; if (number) console.log("number");
(3)其他類型轉換為Boolean
console.log(Boolean([])); console.log(Boolean({}));
假 | 真 | |
---|---|---|
數值類型 | 0 | 其他 |
字符串類型 | 空串 | 其他 |
引用類型 | 數組和對象 |
9.Boolean顯式轉換
(1)!!
!先將number轉換為boolean類型,然後再取反
!!相當於把數值轉為佈爾
(2)構造函數 Boolean()
// 數值 let number = 0; number = !!number; console.log(Boolean(number)); // 字符串 let string = "Alison"; console.log(!!string); console.log(Boolean(string)); // 數組 let array = []; console.log(!!array); console.log(Boolean(array)); // 對象 let object = {}; console.log(!!object); console.log(Boolean(object)); // 日期 let date = new Date(); console.log(!!date); console.log(Boolean(date));
總結
本篇文章就到這裡瞭,希望能夠給你帶來幫助,也希望您能夠多多關註WalkonNet的更多內容!
推薦閱讀:
- 一篇文章讓你輕松記住js的隱式轉化
- 分享JavaScript 類型判斷的幾種方法
- js中基礎的數據類型詳解
- JavaScript數據類型轉換詳解(推薦)
- JavaScript變量類型以及變量之間的轉換你瞭解嗎