Rumah >hujung hadapan web >tutorial js >Panduan Komprehensif untuk Memahami Jenis Rekod Type

Panduan Komprehensif untuk Memahami Jenis Rekod Type

Joseph Gordon-Levitt
Joseph Gordon-Levittasal
2025-02-08 11:03:10174semak imbas

A Comprehensive Guide to Understanding TypeScript Record Type

Panduan ini meneroka jenis

TypeScript, alat yang berkuasa untuk membuat objek dengan jenis nilai yang konsisten. Kami akan meliputi definisi, sintaks, perbandingan dengan tupel, aplikasi praktikal seperti pengendalian kes lengkap dan pemetaan enum, dan kegunaan lanjutan dengan jenis utiliti seperti Record, Partial, dan Pick. Readonly

Memahami jenis Record

Jenis

membolehkan anda menentukan jenis objek di mana semua nilai berkongsi jenis yang sama, manakala kunci boleh berbeza -beza. Takrifannya ialah: Record

<code class="language-typescript">Record<keys type></keys></code>
  • : kesatuan literal rentetan atau jenis yang diperoleh dari kesatuan, menentukan kekunci yang mungkin. Keys
  • : Jenis semua nilai yang dikaitkan dengan kunci. Type
Sebagai contoh,

mencipta objek di mana setiap kunci adalah rentetan dan setiap nilai adalah nombor. Record<string number></string> 3

Kedua -dua mengendalikan koleksi data, tetapi berbeza dengan ketara:

Record Tuple

: Dinamed Properties dengan jenis nilai tetap. Sesuai untuk pemetaan nilai kunci.

  • : Senarai elemen yang diperintahkan, masing -masing berpotensi dengan jenis yang berbeza. Berguna untuk koleksi saiz tetap. Record
  • Contoh:
  • Tuple BASIC
  • Penggunaan

Mendefinisikan

melibatkan menentukan jenis kunci dan nilai:
<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>

Record Aplikasi praktikal

Record

<code class="language-typescript">// Object with string keys and string values
type User = Record<string string>;</string></code>
pengendalian kes lengkap:

Pastikan semua kes enum atau kesatuan dikendalikan:

  1. pemeriksaan jenis generik: Buat fungsi yang boleh diguna semula yang menghasilkan rekod:

    <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. enum ke pemetaan data: Buat jadual carian dari enums:

    <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. Jadual cari: Kekunci peta yang cekap ke nilai:

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

    <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>
    Beberapa kaedah membenarkan lelaran:

: melangkah ke atas pasangan nilai kunci. Record

: ITERATES OVER KEYS.

    : Mengembalikan pelbagai kunci.
  • Object.entries()
  • : Mengembalikan pelbagai nilai.
  • for...in
  • Penggunaan lanjutan dengan jenis utiliti Object.keys()
  • menggabungkan Object.values() dengan jenis utiliti lain meningkatkan keupayaannya:

: Memilih sifat khusus: Record

  • Pick : Mewujudkan objek yang tidak berubah:

    <code class="language-typescript">type Product = { name: string; price: number; description: string };
    type ShortProduct = Pick<product>;</product></code>
  • Readonly : Membuat Properties Pilihan:

    <code class="language-typescript">Record<keys type></keys></code>
  • bersarang Record s : Buat struktur data hierarki kompleks.

Kesimpulan

Jenis Record adalah aset yang berharga dalam TypeScript, menawarkan cara ringkas dan selamat untuk menguruskan objek dengan jenis nilai yang konsisten. Fleksibiliti, digabungkan dengan jenis utiliti lain, membolehkan penciptaan kod yang mantap dan boleh dipelihara. Untuk penerokaan lanjut, rujuk dokumentasi TypeScript rasmi dan sumber lain.

Atas ialah kandungan terperinci Panduan Komprehensif untuk Memahami Jenis Rekod Type. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel sebelumnya:Panduan pemula ' s ke SveltekitArtikel seterusnya:Panduan pemula ' s ke Sveltekit