Почему Array.prototype.push возвращает новую длину, а не что-то более полезное?

С момента его введения вECMA-262, 3-е издание,Array.prototype.push Возвращаемое значение метода являетсяNumber:

15.4.4.7 Array.prototype.push ([item1 [, item2 [,…]]])

Аргументы добавляются в конец массива в порядке их появления.Новая длина массива возвращается в результате звонка.

Каковы были конструктивные решения для возврата новой длины массива, в отличие от возврата чего-то потенциально более полезного, например:

Ссылка на недавно добавленный элемент / ыСам мутированный массив

Почему это было сделано так, и есть ли исторический отчет о том, как эти решения принимались?

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

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