Why does javascript's "in" operator return true when testing if 0 exists in an array that doesn't co
- by Mariano Peterson
For example, this returns true, and makes sense:
var x = [1,2];
1 in x; // true
This returns false, and makes sense:
var x = [1,2];
3 in x; // false
However this returns true, and I don't understand why:
var x = [1,2];
0 in x;
You can quickly test it by putting this in your browser's address bar:
javascript:var x=[1,2]; alert(0 in x);
Why does the "in" operator in Javascript return true when testing if "0" exists in array, even when the array doesn't appear to contain "0"?