Why is this not causing an infinite loop? : <p>From Eloquent JavaScript. Since "i" starts at -1 and decrements by 1 in each loop, this should never reach the end condition "i >= 0". Yet the code works.</p>

<pre><code>function arrayToList(array) {
  var list = null;
  for (var i = array.length - 1; i &gt;= 0; i--)
    list = {value: array[i], rest: list};
  return list;
}

console.log(arrayToList([]));
//null
</code></pre>
