Array.prototype.push が有用なデータではなく新しい配列長を返すのはなぜですか?

Patricia Arquette
リリース: 2024-10-22 09:43:03
オリジナル
890 人が閲覧しました

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

Array.prototype.push が有用なデータではなく新しい長さを返す理由

ECMA-262 で導入された Array.prototype.push、第 3 版では、要素が追加された後の配列の新しい長さを表す Number を返します。この設計上の選択は、直接的に役立つ情報ではないため、開発者を困惑させています。

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 中国語 Web サイトの他の関連記事を参照してください。

ソース:php
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!