Javascript類型轉(zhuǎn)換詳解
類型轉(zhuǎn)換
1.String->Number
const string = "99"; // 隱式轉(zhuǎn)換 console.log(string * 1 + 77); // 顯式轉(zhuǎn)換 console.log(Number(string) + 77);

2.Number->String
const number = 66; console.log(typeof number); // 隱式轉(zhuǎn)換 console.log(typeof (number + "")); // 顯式轉(zhuǎn)換 console.log(typeof String(number));

3.混合String->Number
把位于開頭的數(shù)值字符串轉(zhuǎn)為數(shù)值型
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
空數(shù)組為0,x單元素?cái)?shù)組為x,多元素?cái)?shù)組為NaN
console.log(Number([])); console.log(Number([3])); console.log(Number([1, 2, 3]));

7.toString()
主要用于將Array(由逗號(hào)隔開)、Boolean、Date、Number等對(duì)象轉(zhuǎn)換成String。
const array = ["yooo", "alison", "ruby", "andy"]; console.log(array.toString()); const number = 99; console.log(typeof number.toString());

8.Boolean隱式轉(zhuǎn)換
比較和運(yùn)算是兩件事
(1)比較
在將boolean與number、string比較時(shí),會(huì)隱式地將boolean中的true轉(zhuǎn)為1、false轉(zhuǎn)為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)運(yùn)算
在運(yùn)算中string和number會(huì)被隱式轉(zhuǎn)換為boolean
let number = 99;
if (number) console.log("number");

(3)其他類型轉(zhuǎn)換為Boolean
console.log(Boolean([]));
console.log(Boolean({}));

| 假 | 真 | |
|---|---|---|
| 數(shù)值類型 | 0 | 其他 |
| 字符串類型 | 空串 | 其他 |
| 引用類型 | 數(shù)組和對(duì)象 |
9.Boolean顯式轉(zhuǎn)換
(1)!!
!先將number轉(zhuǎn)換為boolean類型,然后再取反
!!相當(dāng)于把數(shù)值轉(zhuǎn)為布爾
(2)構(gòu)造函數(shù) Boolean()
// 數(shù)值
let number = 0;
number = !!number;
console.log(Boolean(number));
// 字符串
let string = "Alison";
console.log(!!string);
console.log(Boolean(string));
// 數(shù)組
let array = [];
console.log(!!array);
console.log(Boolean(array));
// 對(duì)象
let object = {};
console.log(!!object);
console.log(Boolean(object));
// 日期
let date = new Date();
console.log(!!date);
console.log(Boolean(date));
總結(jié)
本篇文章就到這里了,希望能夠給你帶來幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!
相關(guān)文章
JavaScript網(wǎng)絡(luò)請(qǐng)求工具庫axios使用實(shí)例探索
這篇文章主要為大家介紹了JavaScript網(wǎng)絡(luò)請(qǐng)求工具庫axios使用實(shí)例探索,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2024-01-01
JavaScript canvas實(shí)現(xiàn)動(dòng)態(tài)點(diǎn)線效果
這篇文章主要為大家詳細(xì)介紹了JavaScript canvas實(shí)現(xiàn)動(dòng)態(tài)點(diǎn)線效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-08-08
深入理解ES6 Promise 擴(kuò)展always方法
本篇文章主要介紹了ES6 Promise 擴(kuò)展always方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-09-09
javascript針對(duì)不確定函數(shù)的執(zhí)行方法
這篇文章主要介紹了javascript針對(duì)不確定函數(shù)的執(zhí)行方法,實(shí)例分析了eval函數(shù)及符號(hào)屬性兩種執(zhí)行方式,需要的朋友可以參考下2015-12-12
js 索引下標(biāo)之li集合綁定點(diǎn)擊事件
本文通過一段實(shí)例代碼給大家講解了js索引下標(biāo)之li集合綁定點(diǎn)擊事件的相關(guān)知識(shí),代碼簡單易懂,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友參考下吧2018-01-01
js apply/call/caller/callee/bind使用方法與區(qū)別分析
js apply/call/caller/callee/bind使用方法與區(qū)別分析,需要的朋友可以參考下。2009-10-10
JavaScript new對(duì)象的四個(gè)過程實(shí)例淺析
這篇文章主要介紹了JavaScript new對(duì)象的四個(gè)過程,結(jié)合實(shí)例形式簡單分析了javascript面向?qū)ο蟪绦蛟O(shè)計(jì)中new對(duì)象的四個(gè)過程相關(guān)原理與實(shí)現(xiàn)方法,需要的朋友可以參考下2018-07-07
js抽獎(jiǎng)轉(zhuǎn)盤實(shí)現(xiàn)方法分析
這篇文章主要介紹了js抽獎(jiǎng)轉(zhuǎn)盤實(shí)現(xiàn)方法,結(jié)合實(shí)例形式分析了js抽獎(jiǎng)轉(zhuǎn)盤原理、實(shí)現(xiàn)方法與操作注意事項(xiàng),需要的朋友可以參考下2020-05-05

