Rumah > Artikel > hujung hadapan web > Mengapa Array.prototype.push Mengembalikan Panjang Tatasusunan Yang Dikemas Kini Daripada Data Lebih Bermaklumat?
Mengapa Array.prototype.push Mengembalikan Panjang Baharu Daripada Data Lebih Berguna
Diperkenalkan dalam ECMA-262, Edisi Ke-3, Array. prototype.push telah secara konsisten mengembalikan Nombor yang mewakili panjang tatasusunan yang dikemas kini. Walau bagaimanapun, persoalan timbul tentang mengapa ia direka bentuk seperti ini dan bukannya menyediakan maklumat yang berpotensi lebih berharga, seperti rujukan kepada item yang dilampirkan atau tatasusunan yang diubah suai itu sendiri.
Konteks Sejarah
Untuk memahami alasan di sebalik keputusan reka bentuk ini, kami menyelidiki sejarah push dan rakan sejawatannya di Perl. Ditambah pada tahun 1997 pada JS1.2 Netscape 4, kaedah ini telah diilhamkan oleh rakan sejawat Perl mereka.
Pada mulanya, tolak dalam JS1.2 mematuhi Perl 4 dengan mengembalikan elemen terakhir yang ditambahkan. Walau bagaimanapun, dalam JS1.3, ia beralih kepada sejajar dengan konvensyen Perl 5 untuk mengembalikan panjang tatasusunan baharu. Perubahan ini ditunjukkan dalam kod sumber jsarray.c, yang membezakan antara tingkah laku Perl 4 dan Perl 5 berdasarkan versi JS.
Sebab Mengembalikan Panjang Tatasusunan
Wawasan sejarah ini menunjukkan bahawa keputusan untuk mengembalikan panjang baharu tatasusunan telah diselaraskan dengan piawaian Perl 5, yang berpengaruh dalam pembangunan awal JavaScript. Tambahan pula, pengembalian panjang mungkin telah dianggap sebagai cara yang jelas dan konsisten untuk menunjukkan hasil operasi tolak, tanpa memperkenalkan potensi kekeliruan atau kekaburan.
Pertimbangan Alternatif
Mengembalikan rujukan kepada item yang dilampirkan atau tatasusunan yang diubah suai itu sendiri mempunyai kelebihannya. Ia boleh memberikan akses terus kepada elemen yang baru ditambah atau membenarkan operasi berantai. Walau bagaimanapun, alternatif ini juga memberikan potensi kelemahan:
Kesimpulan
Array.prototype.push nilai pulangan kaedah bagi panjang tatasusunan baharu mungkin tidak memberikan maklumat yang paling luas, tetapi reka bentuknya kekal konsisten dengan konvensyen Perl dan menawarkan petunjuk yang jelas tentang hasil operasi. Pendekatan alternatif mempunyai kelebihannya tetapi juga potensi kelemahan yang mungkin telah mempengaruhi pilihan yang dibuat pada hari-hari awal JavaScript.
Atas ialah kandungan terperinci Mengapa Array.prototype.push Mengembalikan Panjang Tatasusunan Yang Dikemas Kini Daripada Data Lebih Bermaklumat?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!