国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

js中bool值的轉(zhuǎn)換及“&&”、“||”、 “!!”詳解

2019-11-19 14:40:29
字體:
供稿:網(wǎng)友

前言

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

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

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

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

bool值轉(zhuǎn)換

數(shù)據(jù)類型 bool值轉(zhuǎn)化
undefined undefined 轉(zhuǎn)化為 false
Object null 轉(zhuǎn)化為false,其他為 true
Boolean false 轉(zhuǎn)化為 false,true 轉(zhuǎn)化為 true
Number 0,NaN 轉(zhuǎn)化為false,其他為 true
String "" 轉(zhuǎn)化為 false,其他為 true

"&&"

javascript中“&&”運(yùn)算符運(yùn)算法則如下:

如果&&左側(cè)表達(dá)式的值為真值,則返回右側(cè)表達(dá)式的值;否則返回左側(cè)表達(dá)式的值。多個(gè)&&表達(dá)式一起運(yùn)算時(shí),返回第一個(gè)表達(dá)式運(yùn)算為false的值,如果所有表達(dá)式運(yùn)算結(jié)果都為true,則返回最右側(cè)一個(gè)表達(dá)式運(yùn)算的值。

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

上面兩句代碼的執(zhí)行結(jié)果是一樣的,之前寫代碼的時(shí)候一直用上面的方式,但是發(fā)現(xiàn)有些單測覆蓋不到,導(dǎo)致單測分支覆蓋率很低,換下面的方式就可以很好的解決這個(gè)問題,這兩句的效果是一樣的。

"||"

javascript中"||"運(yùn)算符的運(yùn)算法則如下:

如果"||"左側(cè)表達(dá)式的值為真值,則返回左側(cè)表達(dá)式的值;否則返回右側(cè)表達(dá)式的值。多個(gè)"||"表達(dá)式一起運(yùn)算時(shí),返回第一個(gè)表達(dá)式運(yùn)算結(jié)果為true的值,如果所有表達(dá)式運(yùn)算結(jié)果都為false,否則返回最右側(cè)的表達(dá)式的值。

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

"!!"

"!!"將表達(dá)式進(jìn)行強(qiáng)制轉(zhuǎn)化為bool值的運(yùn)算,運(yùn)算結(jié)果為true或者false。

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

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,如果有疑問大家可以留言交流,謝謝大家對武林網(wǎng)的支持。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 巩留县| 天祝| 双桥区| 马尔康县| 沁源县| 化德县| 九龙坡区| 旌德县| 通州区| 龙川县| 蒙阴县| 义乌市| 六枝特区| 千阳县| 和静县| 广汉市| 凤城市| 定兴县| 安化县| 馆陶县| 平昌县| 绥棱县| 南开区| 类乌齐县| 巴林左旗| 嘉禾县| 白沙| 凤城市| 永丰县| 张家界市| 涿鹿县| 敖汉旗| 西和县| 商洛市| 株洲县| 施秉县| 舒城县| 农安县| 资溪县| 哈巴河县| 富锦市|