偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

什么情況下可以使用 JavaScript 中的 Boolean 函數(shù)

開發(fā) 前端
雖然 Boolean() 函數(shù)非常有用,但是會(huì)遇到一些關(guān)于 Boolean 對(duì)象和 new Boolean() 構(gòu)造函數(shù)的問題。

[[403627]]

用 Boolean 進(jìn)行真實(shí)檢查

Boolean() 函數(shù)在對(duì)數(shù)據(jù)進(jìn)行真值檢查時(shí)特別有用,并且可能比雙重否定 (!!) 操作更具可讀性:

  1. let x = 'some-value'
  2.  
  3. // 這看起來不太美觀 
  4. if (!!x) { 
  5.   // ... 
  6.  
  7. // 這更具可讀性 
  8. if (Boolean(x)) { 
  9.   // ... 

正如你在上面的例子中所看到的,它的用途完全相同,并且用起來非常簡(jiǎn)單。同樣,由于 Boolean() 本身就是一個(gè)返回布爾值的函數(shù),你可以用它來檢查集合、過濾數(shù)組等:

  1. const values = [0, 0, 2, 0, 3]; 
  2. // 用作 Array.prototype.some() 的回調(diào) 
  3. const hasValidValue = values.some(Boolean); 
  4. // 用作 Array.prototype.filter() 的回調(diào) 
  5. const nonEmptyValues = values.filter(Boolean); 

小心處理布爾對(duì)象

雖然 Boolean() 函數(shù)非常有用,但是會(huì)遇到一些關(guān)于 Boolean 對(duì)象和 new Boolean() 構(gòu)造函數(shù)的問題。Boolean 對(duì)象是一個(gè)布爾值的對(duì)象包裝器,但棘手的部分是,作為一個(gè)對(duì)象,即使包含的值為 false,它也始終為真!

  1. let x = new Boolean(false); 
  2.  
  3. if (x) { 
  4.   // 這里的代碼會(huì)執(zhí)行 

例如,上面的代碼會(huì)考慮 x 為真,即使它明確把 false 作為其值。這可能有些令人困惑,但是如果你不用 Boolean 對(duì)象和 new Boolean() 構(gòu)造函數(shù),就可以輕松避免它,除非你完全確定出于什么原因需要使用它。我找不到任何需要使用它的場(chǎng)景,所以一開始可能并不常見。

 

責(zé)任編輯:趙寧寧 來源: 前端先鋒
相關(guān)推薦

2013-07-29 14:50:43

API

2020-11-18 09:26:52

@property裝飾器代碼

2023-11-23 23:52:06

options請(qǐng)求瀏覽器

2025-05-26 08:15:00

Go開發(fā)指針

2014-11-03 09:52:25

DNSUDPTCP

2013-09-12 10:41:39

VDI部署

2010-07-13 16:07:26

SQL Server行

2015-06-01 06:39:18

JavaJava比C++

2010-04-14 17:46:10

Oracle數(shù)據(jù)庫

2024-01-09 11:39:47

數(shù)字化轉(zhuǎn)型數(shù)字優(yōu)先企業(yè)

2013-09-23 10:05:50

2023-05-18 08:38:13

Java鎖機(jī)制

2015-06-29 14:23:13

JavaC++慢很多

2009-03-05 10:55:00

企業(yè)無線Wi-Fi

2021-09-14 07:26:25

雪花算法ID

2010-07-20 12:46:23

SQL Server聚

2024-11-07 12:08:27

微服務(wù)協(xié)議通信

2020-09-24 09:43:59

Http協(xié)議options請(qǐng)求

2022-07-20 08:07:21

數(shù)據(jù)庫分布式數(shù)據(jù)庫

2012-04-25 09:24:40

Android
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)