Rumah >hujung hadapan web >tutorial js >Panduan Komprehensif untuk Memahami Jenis Rekod Type
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
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>
Keys
Type
mencipta objek di mana setiap kunci adalah rentetan dan setiap nilai adalah nombor. Record<string number></string>
3
Record
Tuple
Record
Tuple
BASIC 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:
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>
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>
Jadual cari: Kekunci peta yang cekap ke nilai:
<code class="language-typescript">enum Color { Red, Green, Blue } const colorHex: Record<color string> = { };</color></code>
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
Object.entries()
for...in
Object.keys()
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!