Heim >Web-Frontend >js-Tutorial >Ein umfassender Leitfaden zum Verständnis des Typs -Skript -Datensatztyps
In diesem Handbuch wird der Typ von TypeScript Record
ein leistungsstarkes Tool zum Erstellen von Objekten mit konsistenten Werttypen untersucht. Wir werden seine Definition, Syntax, Vergleiche mit Tupeln, praktische Anwendungen wie erschöpfendes Fallhandling und Enum Mapping sowie erweiterte Verwendung mit Dienstprogrammtypen wie Partial
, Pick
und Readonly
.
Verständnis des Record
-Typs
können Sie Objekttypen definieren, bei denen alle Werte den gleichen Typ teilen, während Tasten variieren können. Seine Definition ist: Record
<code class="language-typescript">Record<keys type></keys></code>
Keys
Type
erstellt ein Objekt, bei dem jeder Schlüssel eine Zeichenfolge ist und jeder Wert eine Zahl ist. Record<string number></string>
vs. Record
Tuple
Record
: Namens Eigenschaften mit einem festen Werttyp. Ideal für Schlüsselwerte Mappings.
Tuple
: Die geordnete Liste der Elemente, die jeweils potenziell mit einem anderen Typ. Nützlich für Kollektionen mit fester Größe.
<code class="language-typescript">// Record: string keys, number values type AgeMap = Record<string number>; // Tuple: string and number in specific order type Person = [string, number];</string></code>
Basic Verwendung Record
beinhaltet die Angabe von Schlüssel- und Werttypen: Record
<code class="language-typescript">// Object with string keys and string values type User = Record<string string>;</string></code>
Praktische Anwendungen
GEHALTUNGSBEDEUTUNG: Stellen Sie sicher
<code class="language-typescript">enum Status { Pending, Completed, Failed } const statusMessages: Record<status string> = { [Status.Pending]: "Request pending...", [Status.Completed]: "Request complete!", [Status.Failed]: "Request failed." };</status></code>
Erstellen Sie wiederverwendbare Funktionen, die Datensätze generieren:
<code class="language-typescript">function createRecord<k extends string t>(keys: K[], value: T): Record<k t> { return keys.reduce((acc, key) => ({ ...acc, [key]: value }), {}); }</k></k></code>
Suchtabellen aus Enums erstellen:
<code class="language-typescript">enum Color { Red, Green, Blue } const colorHex: Record<color string> = { };</color></code>
Effizient Tasten auf Werte:
<code class="language-typescript">type CountryCode = "US" | "CA"; interface CountryInfo { name: string; } const countries: Record<countrycode countryinfo> = { US: { name: "United States" }, CA: { name: "Canada" } };</countrycode></code>
Typ Record
Mehrere Methoden ermöglichen die Iteration:
Object.entries()
for...in
Object.keys()
Object.values()
kombiniert
mit anderen Nutzentypen verbessert seine Fähigkeiten:
Record
: Wählt bestimmte Eigenschaften aus: Pick
<code class="language-typescript">type Product = { name: string; price: number; description: string }; type ShortProduct = Pick<product>;</product></code>
: Erstellt unveränderliche Objekte: Readonly
<code class="language-typescript">type ImmutableProduct = Readonly<product>;</product></code>
: macht Eigenschaften optional: Partial
<code class="language-typescript">Record<keys type></keys></code>
verschachtelt Record
s : Komplexe hierarchische Datenstrukturen erstellen.
Schlussfolgerung
Der Typ Record
ist ein wertvolles Gut in TypeScript, das eine prägnante und typesichere Möglichkeit bietet, Objekte mit konsistenten Werttypen zu verwalten. Die Flexibilität in Kombination mit anderen Nutzentypen ermöglicht die Erstellung von robustem und wartbarem Code. Für weitere Explorationen wenden Sie sich an die offizielle Typskript -Dokumentation und andere Ressourcen.
Das obige ist der detaillierte Inhalt vonEin umfassender Leitfaden zum Verständnis des Typs -Skript -Datensatztyps. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!