Artikel ini akan meneroka sebab Array.prototype.at()
lebih ideal daripada Array[index]
apabila mengakses elemen tatasusunan.
Pada masa lalu, apabila mengakses elemen tatasusunan, saya pernah menggunakan Array[index]
, seperti Array[1]
. Inilah yang saya biasa dan bagaimana saya belajar untuk mendapatkan elemen tatasusunan.
Bagaimanapun, baru-baru ini seorang rakan sekerja bertanya dalam semakan kod: "Mengapa tidak menggunakan Array.prototype.at()
dan bukannya menggunakan indeks secara langsung?"
const element = arr[1];
const element = arr.at(1);
menerima integer sebagai hujah dan mengembalikan elemen yang sepadan dalam tatasusunan. Array.prototype.at()
const arr = ["One", "Two", "Three"];
arr.at(0); // 返回 "One"
. Anda mungkin tertanya-tanya, apa bezanya? Seterusnya kita akan menyelami kelebihan menggunakan pendekatan ini. array[0]
harus digunakan dan bukannya Array.prototype.at()
. Array[index]
const sports = ["basketball", "baseball", "football"];
const lastElement = sports[sports.length - 1];
: Array.prototype.at()
const lastElement = sports.at(-1);
Taip inferens
dalam inferens jenis. undefined
const arr: string[] = []; const element = arr[0]; console.log(element); // undefined
disimpulkan sebagai element
, bukan string
. string | undefined
Lazimnya, kami ingin memastikan elemen tatasusunan yang diakses wujud.
const arr: string[] = []; const element = arr[0]; if (typeof element === 'string') console.log(element);
. string
const element: string | undefined = arr[0];
Untuk menyelesaikan masalah ini, kita boleh mengambil dua pendekatan:
noUncheckedIndexedAccess
anda tidak perlu melakukan kedua-duanya. Array.prototype.at()
const arr: string[] = []; const element = arr.at(0); // string | undefined console.log(element);
ke dalam nilai jenis lain element
anda akan mendapat ralat kompilasi: string
const element = arr[1];
Gunakan Array.prototype.at()
untuk menulis kod yang lebih bersih dan elakkan daripada menambah fungsi dan konfigurasi tambahan.
Array.prototype.at()
Penjelasan pada Rangkaian Pembangun Mozilla: Pautan (sila ganti dengan pautan sebenar)
Atas ialah kandungan terperinci Menggunakan Array.at() atas Array[index]. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!