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

Panduan Komprehensif untuk Memahami Jenis Rekod Type

Joseph Gordon-Levitt
Lepaskan: 2025-02-08 11:03:10
asal
184 orang telah melayarinya

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

Record<Keys, Type>
Salin selepas log masuk
Salin selepas log masuk
  • : 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> 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:
// Record: string keys, number values
type AgeMap = Record<string, number>;

// Tuple: string and number in specific order
type Person = [string, number];
Salin selepas log masuk

Record Aplikasi praktikal

Record

// Object with string keys and string values
type User = Record<string, string>;
Salin selepas log masuk
pengendalian kes lengkap:

Pastikan semua kes enum atau kesatuan dikendalikan:

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

    enum Status { Pending, Completed, Failed }
    const statusMessages: Record<Status, string> = {
      [Status.Pending]: "Request pending...",
      [Status.Completed]: "Request complete!",
      [Status.Failed]: "Request failed."
    };
    Salin selepas log masuk
  2. enum ke pemetaan data: Buat jadual carian dari enums:

    function createRecord<K extends string, T>(keys: K[], value: T): Record<K, T> {
      return keys.reduce((acc, key) => ({ ...acc, [key]: value }), {});
    }
    Salin selepas log masuk
  3. Jadual cari: Kekunci peta yang cekap ke nilai:

    enum Color { Red, Green, Blue }
    const colorHex: Record<Color, string> = {
    };
    Salin selepas log masuk
  4. melangkah ke atas jenis

    type CountryCode = "US" | "CA";
    interface CountryInfo { name: string; }
    const countries: Record<CountryCode, CountryInfo> = {
      US: { name: "United States" },
      CA: { name: "Canada" }
    };
    Salin selepas log masuk
    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:

    type Product = { name: string; price: number; description: string };
    type ShortProduct = Pick<Product, "name" | "price">;
    Salin selepas log masuk
  • Readonly : Membuat Properties Pilihan:

    Record<Keys, Type>
    Salin selepas log masuk
    Salin selepas log masuk
  • 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 Laman Web ini
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 terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan