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
Record<Keys, Type>
Keys
Type
mencipta objek di mana setiap kunci adalah rentetan dan setiap nilai adalah nombor. Record<string, number>
3
Record
Tuple
Record
Tuple
BASIC 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];
Record
Aplikasi praktikal
Record
// Object with string keys and string values type User = Record<string, string>;
Pastikan semua kes enum atau kesatuan dikendalikan:
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." };
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 }), {}); }
Jadual cari: Kekunci peta yang cekap ke nilai:
enum Color { Red, Green, Blue } const colorHex: Record<Color, string> = { };
melangkah ke atas jenis
type CountryCode = "US" | "CA"; interface CountryInfo { name: string; } const countries: Record<CountryCode, CountryInfo> = { US: { name: "United States" }, CA: { name: "Canada" } };
: 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:
type Product = { name: string; price: number; description: string }; type ShortProduct = Pick<Product, "name" | "price">;
Readonly
: Membuat Properties Pilihan:
Record<Keys, Type>
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!