首页 > web前端 > js教程 > 正文

为什么 Array.prototype.push 返回新的数组长度而不是有用的数据?

Patricia Arquette
发布: 2024-10-22 09:43:03
原创
889 人浏览过

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学习者快速成长!