可能重複:
myVar = !!someOtherVar
What does the !! operator (double exclamation point) mean in JavaScript?什麼是!在JavaScript中意思?
遇到這行代碼
strict = !!argStrict
... here,不知道該!!
已經上線有什麼影響? JS很新鮮!
可能重複:
myVar = !!someOtherVar
What does the !! operator (double exclamation point) mean in JavaScript?什麼是!在JavaScript中意思?
遇到這行代碼
strict = !!argStrict
... here,不知道該!!
已經上線有什麼影響? JS很新鮮!
它的值轉換爲布爾類型:
var x = '1';
var y = !!x;
// (typeof y === 'boolean')
還要注意以下幾點:
var x = 0;
var y = '0'; // non empty string is truthy
var z = '';
console.log(!!x); // false
console.log(!!y); // true
console.log(!!z); // false
將其轉換爲布爾
它的值轉換爲布爾值通過否定兩次來鍵入。當你想確保一個值是一個布爾值而不是另一個類型的值時使用它。
在JS中,處理布爾值的所有事情都接受其他類型的值,有些甚至可以返回非布爾值(例如,||
和&&
)。但是總是返回一個布爾值,所以它可以用來將事物轉換爲布爾值。
它是一種 「不不」 ARG
常用(快捷方式)字符串值轉換爲bool
這樣的..
如果(! '真'){警報(」其真實')}
'if(!!'false'){alert('true')}'仍然提醒''true''。 – 2010-09-23 21:03:40
要添加到Daniel的評論中,JavaScript中的非空字符串總是被視爲「真理」。投射時,空字符串或空字符串將被視爲「虛假」。也許你打算寫'if(!! true){alert('它是真的')}'? – Funka 2010-09-23 21:08:38
你是對的!,對不起/簡短的回答.. :) 丹尼爾的回答比較完整 – user5199217 2010-09-23 21:23:14
它把一個falsey值(如0
或false
)至true
然後false
和truthy值(如true
或"hello"
)至false
然後true
。
最終的結果是你得到一個任何值的布爾值。
我們需要http://stackoverflow.com/questions/3737139/reference-what-does-this-symbol-mean-in-php-closed的Javascript版本! – kennytm 2010-09-23 21:03:11