溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

js中bool值的如何轉換

發布時間:2021-09-03 15:07:26 來源:億速云 閱讀:109 作者:小新 欄目:web開發

這篇文章給大家分享的是有關js中bool值的如何轉換的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

前言

首先需要知道的是,js中有6個值為false,分別是: 0, '', null, undefined, NaN 和 false, 其他(包括{}, [], Infinity)為true.

可以使用Boolean()函數或是兩次取非就能獲得對象的布爾值,例如Boolean(undefined)和!!undefined同樣能取得布爾值false,

對于0, '', null, undefined, NaN,{}, [], Infinity求布爾值,分別是false false false false false true true true.

因此我們知道的一點是:對象的布爾值是true,即使是對象{}。

bool值轉換

數據類型bool值轉化
undefinedundefined 轉化為 false
Objectnull 轉化為false,其他為 true
Booleanfalse 轉化為 false,true 轉化為 true
Number0,NaN 轉化為false,其他為 true
String"" 轉化為 false,其他為 true

"&&"

javascript中“&&”運算符運算法則如下:

如果&&左側表達式的值為真值,則返回右側表達式的值;否則返回左側表達式的值。多個&&表達式一起運算時,返回第一個表達式運算為false的值,如果所有表達式運算結果都為true,則返回最右側一個表達式運算的值。

const aa = {'name': 'xx'};
const bb = aa && aa.age; // bb輸出為undefined;
let cc;
const dd = cc && cc.name ? cc.name : undefined; // dd輸出為undefined
const dd = cc && cc.name; // dd輸出為undefined;

上面兩句代碼的執行結果是一樣的,之前寫代碼的時候一直用上面的方式,但是發現有些單測覆蓋不到,導致單測分支覆蓋率很低,換下面的方式就可以很好的解決這個問題,這兩句的效果是一樣的。

"||"

javascript中"||"運算符的運算法則如下:

如果"||"左側表達式的值為真值,則返回左側表達式的值;否則返回右側表達式的值。多個"||"表達式一起運算時,返回第一個表達式運算結果為true的值,如果所有表達式運算結果都為false,否則返回最右側的表達式的值。

const aa = false || 'xx'; // aa輸出為'xx'

"!!"

"!!"將表達式進行強制轉化為bool值的運算,運算結果為true或者false。

const aa = 'xx';
const bb = !!aa; // bb輸出為true
const cc = !!(NaN || undefined || null || 0 || '' ); // cc為false;

感謝各位的閱讀!關于“js中bool值的如何轉換”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

js
AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女