Heim >Web-Frontend >js-Tutorial >Ein umfassender Leitfaden zum Verständnis des Typs -Skript -Datensatztyps

Ein umfassender Leitfaden zum Verständnis des Typs -Skript -Datensatztyps

Joseph Gordon-Levitt
Joseph Gordon-LevittOriginal
2025-02-08 11:03:10251Durchsuche

A Comprehensive Guide to Understanding TypeScript Record Type

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.

behandeln

Verständnis des Record -Typs

Mit dem Typ

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>
  • : Eine Vereinigung von String -Literalen oder ein Typ, der aus einer Vereinigung abgeleitet ist und die möglichen Schlüssel definiert. Keys
  • : Der Typ aller Werte, die den Tasten zugeordnet sind. Type
zum Beispiel

erstellt ein Objekt, bei dem jeder Schlüssel eine Zeichenfolge ist und jeder Wert eine Zahl ist. Record<string number></string>

vs. Record Tuple

Beide verarbeiten Datensammlungen, unterscheiden sich jedoch signifikant:

  • 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.
Beispiel:

<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

Definieren eines

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

  1. 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>
  2. Generisches Typ Überprüfung:

    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>
  3. Umzündung zum Datenzuordnung:

    Suchtabellen aus Enums erstellen:

    <code class="language-typescript">enum Color { Red, Green, Blue }
    const colorHex: Record<color string> = {
    };</color></code>
  4. Suchtabellen:

    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>
iteriert über

Typ Record Mehrere Methoden ermöglichen die Iteration:

    : Iterate über Schlüsselwertpaare.
  • Object.entries()
  • : Iteraten über Tasten.
  • for...in
  • : Gibt eine Reihe von Schlüssel zurück.
  • Object.keys()
  • : Gibt ein Wertearray zurück.
  • Object.values()
Fortgeschrittene Verwendung mit Dienstprogrammtypen

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn