在JavaScript中使用「嚴格模式」時,在比較if語句中的值時應使用===
。然而,隨着truthy/falsy值打交道時,這可能會導致很長的if語句:在JavaScript中使用Double Equals會導致性能問題嗎?
if (a !== null && a !== undefined && a !== '' && a !== 0) {}
要解決這個問題,我已經使用!!
if(!!a === true) {}
到開始將該值作爲布爾值進行轉換。但是,我擔心會對性能產生影響。根據我的JSPerf(http://jsperf.com/double-exclamation-vs-falsy/4),這種方法比if語句的長格式慢30%。
我的基地在這裏嗎?有沒有人注意到性能受到影響?
很少需要對「true」或「false」進行明確比較。只是「如果(a)'會做到這一點。 – Pointy
如果使用'!!',那麼就不需要'=== true'或'=== false' –
@PatrickEvans,如果你不做比較,也不需要'!!'。 – Pointy