首頁 > web前端 > js教程 > 主體

為什麼 Array.prototype.push 會傳回新的陣列長度而不是有用的資料?

Patricia Arquette
發布: 2024-10-22 09:43:03
原創
891 人瀏覽過

Why Does Array.prototype.push Return the New Array Length Instead of Useful Data?

為什麼Array.prototype.push 返回新的長度而不是有用的資料

Array.prototype.push,在ECMA-262 中引入,第三版,傳回一個數字,表示附加元素後數組的新長度。這種設計選擇讓開發人員感到困惑,因為它不是直接有用的信息。

來自 TC39 溝通管道的歷史證據揭示了這個決定。在 JS1.2 (Netscape 4) 中,推送是根據 Perl 的函數建模的,其行為與 Perl 4 類似,傳回最後推送的項目。然而,在 JS1.3 (Netscape 4.06) 中,push 進行了更改以符合 Perl 5 約定,現在會傳回新的陣列長度。

根據原始jsarray.c 原始碼,此修改是有意的:

/*
 * If JS1.2, follow Perl4 by returning the last thing pushed.  Otherwise,
 * return the new array length.
 */
登入後複製

這種設計選擇可能源於希望提供跨JavaScript 版本的一致性並與既定的Perl 5行為保持一致。雖然返回新長度可能不會立即有價值,但它確實確保了推送操作後數組大小的清晰度。

以上是為什麼 Array.prototype.push 會傳回新的陣列長度而不是有用的資料?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!