Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
Underscore.js の _.each 実装でこのコード行に出くわしました。ここで何が起こっているのか興味があります。obj の前の「+」は何をしますか?
if (obj.length === +obj.length) { ... }
数値ではなくであるifテスト。右辺は常に数値です (または、数値として解釈できない場合)。も数字の場合、左側のみになります。obj.lengthNaNNaNobj.length===obj.length
if
obj.length
NaN
===
が数値に見える文字列のisNaN場合、 using は機能しないことに注意してください。obj.lengthつまり、 をisNan("3")返しますfalse。NaN === NaNis false—NaNは決して===何にもならないことにも注意してください。
isNaN
isNan("3")
false
NaN === NaN