Почему оператор «in» в Javascript возвращает true при проверке наличия «0» в массиве, даже если массив не содержит «0»?
Например, это возвращает true и имеет смысл:
var x = [1,2];
1 in x; // true
Это возвращает false и имеет смысл:
var x = [1,2];
3 in x; // false
Однако это возвращает true, и я не понимаю, почему:
var x = [1,2];
0 in x;