Почему при удалении сохраняются элементы Array?

Сегодня я наткнулся на вопрос здесь о переполнении стека -Как удалить объекты из ассоциативного массива JavaScript?, Что меня поразило, так это то, что принятый ответ вводил в заблуждение и голосовал против, поэтому я подчеркнул возможную ловушку.

Однако, составляя корректирующий ответ, я понял, что понятия не имею,Почему это имеет смысл дляdelete сохранить элементыназначать undefined вместо удаления.

var elements = new Array()
elements.push(NaN)
elements.push(NaN)
elements.push(NaN)
delete elements[1]
console.log("number of elements: ", elements.length)   // returns 3

Есть ли за этим обоснование?

Ответы на вопрос(4)

Ваш ответ на вопрос