如果我在Coffescript傳遞變量的存在操作者將它轉換成一對!==
比較:檢查不等式(!==)與undefined和null是否有區別,只是針對null檢查corcive不等式(!=)?
compiles to
Coffeescript ------> JS
a? typeof a !== "undefined" && a !== null;
但是,如果使用一個文字或表達它,而不是使用一個!=
比較:
compiles to
Coffeescript ------> JS
17? 17 != null;
//same thing for regexps, strings, function calls and other expressions
//as far as I know.
是否有任何理由在較短!= null
寧願雙!==
S,其他的話,或許使JSLint的幸福嗎?
是的,的確如此。 ?是存在的運營商。它意在表明變量是否存在。 – liammclennan
@RobG讓他們成爲一個新的操作員是有道理的。我們已經有了'!!'用於虛假評估 – hugomg
@liammclennan - 那個測試並沒有告訴你任何有關變量是否存在的事情,它只是提供了一個關於它的價值不是什麼的暗示。 @missingno - 重載'?'操作符似乎不是一個好主意,它只是速記,並且(對我來說)混淆了代碼。 – RobG