欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

 更新時(shí)間:2017年12月21日 10:26:33   作者:hellobaby  
這篇文章主要給大家介紹了關(guān)于js中bool值的轉(zhuǎn)換方法以及"&&" 、"||"、 "!!"的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友下面來一起看看吧。

前言

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

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

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

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

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輸出為undefined
const dd = cc && cc.name; // dd輸出為undefined;

上面兩句代碼的執(zhí)行結(jié)果是一樣的,之前寫代碼的時(shí)候一直用上面的方式,但是發(fā)現(xiàn)有些單測(cè)覆蓋不到,導(dǎo)致單測(cè)分支覆蓋率很低,換下面的方式就可以很好的解決這個(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輸出為true
const cc = !!(NaN || undefined || null || 0 || '' ); // cc為false;

總結(jié)

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

相關(guān)文章

  • 頁面縮放兼容性處理方法(zoom,Firefox火狐瀏覽器)

    頁面縮放兼容性處理方法(zoom,Firefox火狐瀏覽器)

    下面小編就為大家?guī)硪黄撁婵s放兼容性處理方法(zoom,Firefox火狐瀏覽器)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-08-08
  • js微信分享API

    js微信分享API

    這篇文章主要為大家詳細(xì)介紹了js微信分享實(shí)現(xiàn)代碼,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-07-07
  • 微信小程序獲取用戶openid的實(shí)現(xiàn)

    微信小程序獲取用戶openid的實(shí)現(xiàn)

    這篇文章主要介紹了微信小程序獲取用戶openid的實(shí)現(xiàn),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-12-12
  • JavaScript實(shí)現(xiàn)橫版菜單欄

    JavaScript實(shí)現(xiàn)橫版菜單欄

    這篇文章主要為大家詳細(xì)介紹了JavaScript實(shí)現(xiàn)橫版菜單欄,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-03-03
  • 用js實(shí)現(xiàn)簡(jiǎn)單輪播圖

    用js實(shí)現(xiàn)簡(jiǎn)單輪播圖

    這篇文章主要為大家詳細(xì)介紹了用js實(shí)現(xiàn)簡(jiǎn)單輪播圖,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-07-07
  • 微信小程序城市定位的實(shí)現(xiàn)實(shí)例(獲取當(dāng)前所在國家城市信息)

    微信小程序城市定位的實(shí)現(xiàn)實(shí)例(獲取當(dāng)前所在國家城市信息)

    這篇文章給大家認(rèn)真介紹了微信小程序城市定位的實(shí)現(xiàn)實(shí)例,主要實(shí)現(xiàn)了獲取當(dāng)前所在國家城市信息的相關(guān)資料,文中介紹的非常詳細(xì),相信對(duì)大家具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起看看吧。
    2017-05-05
  • JS實(shí)現(xiàn)的網(wǎng)頁背景閃電閃爍效果代碼

    JS實(shí)現(xiàn)的網(wǎng)頁背景閃電閃爍效果代碼

    這篇文章主要介紹了JS實(shí)現(xiàn)的網(wǎng)頁背景閃電閃爍效果代碼,涉及JavaScript定時(shí)函數(shù)結(jié)合頁面元素樣式操作的相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-10-10
  • 在bootstrap中實(shí)現(xiàn)輪播圖實(shí)例代碼

    在bootstrap中實(shí)現(xiàn)輪播圖實(shí)例代碼

    Bootstrap中輪播圖插件叫作Carousel ,下面通過本文給大家詳細(xì)介紹了bootstrop中實(shí)現(xiàn)輪播圖效果,需要的朋友參考下
    2017-06-06
  • JS的事件循環(huán)執(zhí)行機(jī)制詳解

    JS的事件循環(huán)執(zhí)行機(jī)制詳解

    JS執(zhí)行是單線程的,它是基于事件循環(huán)的,那么本篇博文就來分享一下關(guān)于JS的事件循環(huán)執(zhí)行機(jī)制,感興趣的小伙伴可以跟著小編一起來學(xué)習(xí)
    2023-05-05
  • JavaScript用二分法查找數(shù)據(jù)的實(shí)例代碼

    JavaScript用二分法查找數(shù)據(jù)的實(shí)例代碼

    本篇文章主要介紹了JavaScript用二分法查找數(shù)據(jù)的實(shí)例代碼,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-06-06

最新評(píng)論