var collection = document.createElement('select').options
collection // []
collection instanceof Array // false
collection instanceof HTMLCollection // true
collection.push // undefined
collection.add(document.createElement('option'))
collection.add(document.createElement('option'))
collection // [ <option></option>, <option></option> ]
collection.length //2
collection[0] // <option></option>
collection[1] // <option></option>
collection[0] = null
collection.length // 1
collection[0] // <option></option>
collection[1] // undefined
var array = []
array // []
array instanceof Array // true
array.push('a')
array.push('b')
array // ["a", "b"]
array.length // 2
array[0] = null //array [null, "b"]
array.length //2
коллекция - "живой" набор элементов. Если элемент из набора исчезает или добавляется коллекция тутже меняется. Присваивая collection[i] = null мы удаляем ссылку на элемент, и элемент из коллекции автоматически исчезает. Присваивая array[i] = null , мы просто выставляем значение элементу массива null, сам массив не меняется.