async githubgit
布爾值,JavaScript 基本數據類型之一。github
JavaScript 基本數據類型:async
number 數字this
string 字符串code
boolean 布爾值ip
undefined字符串
nullget
symbolsstring
objectit
值有兩個:true 、 false
最多用的是在條件判斷(if
, ? :
, while
等),對非布爾值,解釋引擎會先進行隱式轉換爲布爾值。
對於大部分值在轉換爲布爾值時都是 true
, 如下 falsy 值被轉爲false
:
空串 ""
null
undefined
數字 0
數字 NaN
布爾值 false
這些值一般由某些操做返回,如:
邏輯類操做, !
、&&
、||
比較類操做,===
、!=
、>
and so on
能夠轉換爲布爾類型的值或變量
經常使用小技巧:
!!
!!
轉成 boolean
let stringTest = 'this is a string'; true === !!stringTest // true
一些容易出錯的點
null == undefined // true null === undefined // false NaN == NaN // false
有兩個小技巧:
||
let stringTest = 'this is a test'; // 已經定義, 保留原有值 let testA = stringTest || 'default'; testA // 'this is a test'
&&
let objectTest = {a1: {a2: 'a2'}}; const a2 = objectTest.a1 && objectTest.a1.a2 || 'default'; a2 // 'a2'
在使用上面方式進行賦值或者條件判斷時,務必要考慮 falsy 的狀況。以下面的代碼可能會成爲一個隱患
const warningNumber = 0; // 數字 0 被當成了 false 處理 const notWant = warningNumber || 10; notWant; // 10