On Sun, 19 Feb 2012 06:06:19 -0000, Daniel Murphy <[email protected]> wrote:

I agree, and I doubt it was intentional.

if (arr) should mean if (arr.length && arr.ptr)
But since you can only get (arr.length != 0 && arr.ptr == null) when doing
unsafe things with arrays, I think it's entirely reasonable to use
if (arr) -> if (arr.length)

This is what I expected.

Just to provide a counterpoint, I would have expected if (arr) to check for null. Coming from a C background I expect the thing inside () to be compared to 0 and 'the thing' in my mind is the array itself, not any property of the array length included. Not saying checking for null is a better or worse idea, just saying that would be my initial impression of what it would do. I too am unsettled by the conflation of null and empty - and argued against it on several occasions, but hey, too late now I suspect.

Regan

Reply via email to