array.length vs. array.length > 0

array.length is fastest and shorter than array.length > 0. You can see difference of their speeds : http://jsperf.com/test-of-array-length

if(array.length){...} is similar to if(0){...} or if(false){...}


Is there any difference between checking an array's length as a truthy value vs checking that it's > 0?

Since the value of arr.length can only be 0 or larger and since 0 is the only number that evaluates to false, there is no difference.

In general, Boolean(n) and Boolean(n > 0) yield different results for n < 0.

In other words is there any reason to use one of these statements over the other

Only reasons related to code readability and understanding, not behavior.