Since people are often using
array.length < 1
to check if an array is empty instead of
array.length === 0
I wonder if there are cases array.length could be below 0.
Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.
Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.
Lost your password? Please enter your email address. You will receive a link and will create a new password via email.
Please briefly explain why you feel this question should be reported.
Please briefly explain why you feel this answer should be reported.
Please briefly explain why you feel this user should be reported.
No, the
lengthof an array is a non-negative integer. From the spec:(my emphasis)
So either check is perfectly fine, and both will have the same result for all arrays.
You may find people arguing for
=== 0over< 1on the grounds of performance, because the IsStrictlyEqual algorithm would take fewer steps than the IsLessThan algorithm. Granted that’s true, but I’m aware of no evidence that either is faster than the other in this use-case (and I’ve tested it; sadly the jsPerf test is gone now). (Or others may argue that<will do type conversion and===won’t, but that’s irrelevant here; both types are the same.) But even if it were that one was minutely faster than the other, you’d have to be doing the comparison literally billions of times to see even the smallest real-world impact.