最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

深入理解JavaScript強制類型轉(zhuǎn)換

 更新時間:2024年09月15日 09:52:46   作者:everyStudy  
JavaScript中的強制類型轉(zhuǎn)換包括顯式和隱式轉(zhuǎn)換,涉及字符串、數(shù)字和布爾值三種基本類型,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

一、強制類型轉(zhuǎn)換

強制類型轉(zhuǎn)換是指將一種數(shù)據(jù)類型轉(zhuǎn)換為另一種數(shù)據(jù)類型的過程。在JavaScript中,這種轉(zhuǎn)換可以是顯式(調(diào)用轉(zhuǎn)換函數(shù))的或隱式

基本類型轉(zhuǎn)換

主要涉及三種基本類型:字符串、數(shù)字和布爾值

轉(zhuǎn)換為字符串

將值轉(zhuǎn)換為字符串有多種方式,其中最常見的是通過調(diào)用String()函數(shù)或使用加號運算符(+)與空字符串相加 或者ES6的模板字符串 ‘ `` ’ 。

let num = 123;
let str = String(num); // 顯式轉(zhuǎn)換
let str2 = num + '';   // 隱式轉(zhuǎn)換
console.log(str);  // "123"
console.log(str2); // "123"

轉(zhuǎn)換為數(shù)字

將值轉(zhuǎn)換為數(shù)字也有多種方式,可以使用Number()函數(shù)、加號運算符(+)、乘號運算符 *、parseInt()或parseFloat()等

let str = "456";
let num = Number(str); // 顯式轉(zhuǎn)換
let num2 = +str;       // 隱式轉(zhuǎn)換
console.log(num);  // 456
console.log(num2); // 456

parseInt()和parseFloat()用于解析字符串中的數(shù)字,但它們與Number()有所不同,因為它們不會處理非數(shù)值字符并且可以解析帶有小數(shù)點的字符串。

let str = "3.14";
console.log(parseInt(str));  // 3
console.log(parseFloat(str)); // 3.14

轉(zhuǎn)換為布爾值

所有值在JavaScript中都可以轉(zhuǎn)換為布爾值。JavaScript中有一些被認為是假值的值,它們轉(zhuǎn)換為布爾值時會得到false,包括:0、-0、null、undefined、NaN和空字符串("")其他所有值都被認為是真值,轉(zhuǎn)換為布爾值時會得到true。

console.log(Boolean(0));        // false
console.log(Boolean(""));       // false
console.log(Boolean(null));     // false
console.log(Boolean(undefined));// false
console.log(Boolean(NaN));      // false

console.log(Boolean(123));      // true
console.log(Boolean("hello"));  // true
console.log(Boolean({}));       // true

二、常見的強制類型轉(zhuǎn)換場景

相等運算符 == 與嚴格相等運算符 ===

在使用相等運算符== 時,JavaScript會進行強制類型轉(zhuǎn)換以比較不同類型的值。相反,嚴格相等運算符===不會進行類型轉(zhuǎn)換,只在兩個值類型相同且值相等時返回true

console.log(123 == "123"); // true,字符串"123"被轉(zhuǎn)換為數(shù)字123
console.log(123 === "123"); // false,類型不同

算術(shù)運算符

當不同類型的值參與算術(shù)運算時,JavaScript會嘗試將它們轉(zhuǎn)換為數(shù)字

let result = "4" - 3; // "4" 被轉(zhuǎn)換為 4,結(jié)果為 1
console.log(result); // 1

result = "5" + 5; // 由于 + 運算符優(yōu)先進行字符串連接,結(jié)果為 "55"
console.log(result); // "55"

邏輯運算符

邏輯運算符(&&、||、!)也會觸發(fā)類型轉(zhuǎn)換。它們通常會將操作數(shù)轉(zhuǎn)換為布爾值,以決定運算結(jié)果

console.log(!!"hello"); // true,非空字符串被轉(zhuǎn)換為 true
console.log(!!0);       // false,0 被轉(zhuǎn)換為 false
console.log(null || "default"); // "default",null 被轉(zhuǎn)換為 false

三、避免強制類型轉(zhuǎn)換的陷阱

NaN陷阱

當嘗試將非數(shù)值字符串轉(zhuǎn)換為數(shù)字時,會得到NaN(Not-a-Number)

let result = Number("hello");
console.log(result); // NaN

null和undefined的特殊情況

null和undefined在進行類型轉(zhuǎn)換時有一些特殊的行為,需要特別注意。

console.log(Number(null));      // 0
console.log(Number(undefined)); // NaN

字符串連接與算術(shù)運算

由于+運算符既用于字符串連接又用于加法運算,容易引起混淆。

console.log("5" + 3); // "53",字符串連接
console.log("5" - 3); // 2,算術(shù)運算

到此這篇關(guān)于深入理解JavaScript強制類型轉(zhuǎn)換的文章就介紹到這了,更多相關(guān)JavaScript強制類型轉(zhuǎn)換內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Add a Formatted Table to a Word Document

    Add a Formatted Table to a Word Document

    Add a Formatted Table to a Word Document...
    2007-06-06
  • TypeScript學(xué)習(xí)筆記之類型窄化篇

    TypeScript學(xué)習(xí)筆記之類型窄化篇

    目前用TypeScript的人越來越多,尤其是一些大廠,大的項目,github上面很多開源項目也都是ts語法編譯的,這篇文章主要給大家介紹了關(guān)于TypeScript學(xué)習(xí)筆記之類型窄化的相關(guān)資料,需要的朋友可以參考下
    2021-09-09
  • JS 動態(tài)獲取節(jié)點代碼innerHTML分析 [IE,FF]

    JS 動態(tài)獲取節(jié)點代碼innerHTML分析 [IE,FF]

    在IE 環(huán)境下 賦值類型為對象時 innerHTML 獲取不到其改變,在FireFox環(huán)境下 .屬性 方式獲取不到其改變。
    2009-11-11
  • php main 與 iframe 相互通訊類(js+php同域/跨域)

    php main 與 iframe 相互通訊類(js+php同域/跨域)

    這篇文章主要介紹了php main 與 iframe 相互通訊類(js+php同域/跨域),需要的朋友可以參考下
    2017-09-09
  • Javascript怎樣使用SessionStorage和LocalStorage

    Javascript怎樣使用SessionStorage和LocalStorage

    這篇文章主要介紹了Javascript怎樣使用SessionStorage和LocalStorage,對web存儲數(shù)據(jù)感興趣的同學(xué),可以參考下
    2021-04-04
  • 理解javascript封裝

    理解javascript封裝

    這篇文章主要幫助大家理解學(xué)習(xí)javascript封裝,通過封裝可以強制實施信息隱藏,本文為大家分析了封裝的利弊,感興趣的小伙伴們可以參考一下
    2016-02-02
  • 怎樣使用?JavaScript?轉(zhuǎn)義字符串中的引號

    怎樣使用?JavaScript?轉(zhuǎn)義字符串中的引號

    要轉(zhuǎn)義字符串中的單引號或雙引號,需要在字符串內(nèi)容中的每個單引號或雙引號之前使用反斜杠?\?字符,例如?‘that’s?it’,這篇文章主要介紹了如何使用?JavaScript?轉(zhuǎn)義字符串中的引號,需要的朋友可以參考下
    2023-11-11
  • 微信小程序開發(fā)(二):頁面跳轉(zhuǎn)并傳參操作示例

    微信小程序開發(fā)(二):頁面跳轉(zhuǎn)并傳參操作示例

    這篇文章主要介紹了微信小程序開發(fā)頁面跳轉(zhuǎn)并傳參操作,結(jié)合實例形式詳細分析了微信小程序頁面跳轉(zhuǎn)并傳參相關(guān)操作技巧,需要的朋友可以參考下
    2020-06-06
  • 你不知道的forEach函數(shù)解析

    你不知道的forEach函數(shù)解析

    這篇文章主要介紹了你不知道的forEach函數(shù)的相關(guān)資料,本文通過實例代碼給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-05-05
  • 使用Mock.js生成前端測試數(shù)據(jù)

    使用Mock.js生成前端測試數(shù)據(jù)

    這篇文章主要介紹了使用Mock.js生成前端測試數(shù)據(jù),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12

最新評論

隆尧县| 桑植县| 德令哈市| 五河县| 包头市| 永顺县| 景谷| 克山县| 普定县| 宁夏| 宿州市| 江孜县| 牙克石市| 湖北省| 光山县| 南溪县| 南木林县| 通州区| 舟山市| 方山县| 巴里| 文登市| 慈利县| 桃江县| 休宁县| 蓬莱市| 义马市| 桐庐县| 卢龙县| 喜德县| 天台县| 尼勒克县| 奎屯市| 肇庆市| 集安市| 当雄县| 仙居县| 永昌县| 大丰市| 宁南县| 肇东市|