JavaScript 中的 !!
!! 一般用來將後面的表示式轉換為布林型(boolean)。
var obj = {
flag: true
};
var temp = !!obj.flag; //等效於 var temp = obj.flag || false;
由於對 null
與 undefined
用 ! 操作符時結果都是 true
:
> !null
true
> !undefined
true
所以用兩個感嘆號的作用就在於:如果明確設定了 obj
中 flag
的值(非 null/undefined/0/""
等值),自然 temp
就會取跟 obj.flag
一樣的值;如果沒有設定,temp
就會預設為 false
,而不是 null
或 undefined
。
> !!null
false
> !!undefined
false
> !!''
false
> !!0
false
相關文章
- JavaScript中的thisJavaScript
- JavaScript 中的 this !JavaScript
- JavaScript 中的 exportJavaScriptExport
- 理解 JavaScript 中的 thisJavaScript
- JavaScript 中 This 的指向JavaScript
- 解析javascript中的thisJavaScript
- JavaScript中的 FunctionJavaScriptFunction
- Javascript中的魔鬼JavaScript
- javascript中的字典JavaScript
- JavaScript中的AJAXJavaScript
- Javascript中的deleteJavaScriptdelete
- javascript中的symbolJavaScriptSymbol
- Javascript中的with語法JavaScript
- JavaScript 中的模組化JavaScript
- Javascript中的求值策略JavaScript
- JavaScript中的“黑話”JavaScript
- JavaScript中的遞迴JavaScript遞迴
- 【譯】JavaScript中的PromisesJavaScriptPromise
- JavaScript中的繼承JavaScript繼承
- 【譯】JavaScript中的CallbacksJavaScript
- javascript中的Strict模式JavaScript模式
- 理解 JavaScript 中的原型JavaScript原型
- JavaScript中的this詳解JavaScript
- 前端-JavaScript中的class前端JavaScript
- JavaScript中的“=、==、===”區別JavaScript
- JavaScript 中的求值策略JavaScript
- 淺談JavaScript中的thisJavaScript
- JavaScript中的Array物件JavaScript物件
- JavaScript 中的遍歷JavaScript
- JavaScript 中的垃圾回收JavaScript
- JavaScript中的==運算JavaScript
- 全面理解JavaScript中的thisJavaScript
- JavaScript 中的 this 全面解析JavaScript
- 關於javascript中的thisJavaScript
- javascript 中的getter,setterJavaScript
- javascript 中{}和[] 的理解JavaScript
- Javascript中的in,hasOwnProperty,delete,for/inJavaScriptdelete
- JavaScript中的數字JavaScript