ホームページ >ウェブフロントエンド >jsチュートリアル >Array.prototype.push が有用なデータではなく新しい配列長を返すのはなぜですか?
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 サイトの他の関連記事を参照してください。