In diesem Artikel wird untersucht, warum Array.prototype.at()
beim Zugriff auf Array-Elemente idealer ist als Array[index]
.
Früher habe ich beim Zugriff auf Array-Elemente Array[index]
verwendet, beispielsweise Array[1]
. Das ist es, womit ich vertraut bin und wie ich gelernt habe, Array-Elemente zu erhalten.
Ein Kollege fragte jedoch kürzlich in einer Codeüberprüfung: „Warum nicht Array.prototype.at()
verwenden, anstatt den Index direkt zu verwenden?“
const element = arr[1];
vor
const element = arr.at(1);
akzeptiert eine Ganzzahl als Argument und gibt das entsprechende Element im Array zurück. Array.prototype.at()
const arr = ["One", "Two", "Three"];
arr.at(0); // 返回 "One"
. Sie fragen sich vielleicht: Was ist der Unterschied? Als Nächstes werden wir uns mit den Vorteilen dieses Ansatzes befassen. array[0]
anstelle von Array.prototype.at()
verwendet werden sollte. Array[index]
const sports = ["basketball", "baseball", "football"];
const lastElement = sports[sports.length - 1];
-Methode prägnanter geschrieben werden: Array.prototype.at()
const lastElement = sports.at(-1);
Typinferenz
nicht in die Typinferenz ein. undefined
const arr: string[] = []; const element = arr[0]; console.log(element); // undefined
wird als element
und nicht als string
abgeleitet. string | undefined
Normalerweise möchten wir sicherstellen, dass das Array-Element, auf das zugegriffen wird, existiert.
const arr: string[] = []; const element = arr[0]; if (typeof element === 'string') console.log(element);
ableitet. string
const element: string | undefined = arr[0];
Um dieses Problem zu lösen, können wir zwei Ansätze verfolgen:
noUncheckedIndexedAccess
verwenden, müssen Sie nicht beides tun. Array.prototype.at()
const arr: string[] = []; const element = arr.at(0); // string | undefined console.log(element);
in einen anderen Wert vom Typ element
einzufügen, erhalten Sie einen Kompilierungsfehler: string
const element = arr[1];
Verwenden Sie Array.prototype.at()
, um saubereren Code zu schreiben und das Hinzufügen zusätzlicher Funktionen und Konfigurationen zu vermeiden.
Array.prototype.at()
Erklärung zum Mozilla Developer Network: Link (bitte durch tatsächlichen Link ersetzen)
Das obige ist der detaillierte Inhalt vonVerwenden von Array.at() über Array[index]. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!