Batasan Generik: Mempersempit Parameter Tipe
Gunakan extends untuk memberlakukan persyaratan bentuk pada generik.
Batasan Generik: Mempersempit Parameter Tipe adalah pelajaran TypeScript Academy gratis di CoddyKit. Ini adalah pelajaran 2 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar TypeScript Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus TypeScript Academy mencakup 4 pelajaran total.
Selamat Datang
Ringkasan Batasan
function len<T extends { length: number }>(val: T): number {
return val.length;
}Membatasi pada Metode Tertentu
interface Stringable { toString(): string; }
function stringify<T extends Stringable>(val: T): string {
return val.toString();
}Menyimpulkan dari Batasan
function pluck<T, K extends keyof T>(items: T[], key: K): T[K][] {
return items.map(item => item[key]);
}
const names = pluck(users, 'name'); // string[]Batasan Berkategori Lebih Tinggi (Disimulasikan)
Membatasi pada Tipe Primitif
type Primitive = string | number | boolean | bigint | symbol | null | undefined;
function isPrimitive<T extends Primitive>(val: T): true { return true; }Batasan Rekursif
interface Comparable<T> { compareTo(other: T): number; }
function sort<T extends Comparable<T>>(items: T[]): T[] {
return [...items].sort((a, b) => a.compareTo(b));
}Batasan dengan Nilai Bawaan
function process<T extends object = Record<string, unknown>>(data: T): void {
console.log(Object.keys(data));
}T extends Record<string, unknown>
function getValue<T extends Record<string, unknown>>(obj: T, key: string): unknown {
return obj[key];
}Inferensi Batasan dalam Tipe Hasil
function firstKey<T extends object>(obj: T): keyof T {
return Object.keys(obj)[0] as keyof T;
}Utilitas NoInfer (TS 5.4)
function createState<T>(initial: T, fallback: NoInfer<T>): T {
return initial ?? fallback;
}Pemeriksaan Singkat
Ringkasan
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Batasan Generik: Mempersempit Parameter Tipe” gratis?
Ya — teks lengkap “Batasan Generik: Mempersempit Parameter Tipe” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus TypeScript Academy, upgrade ke CoddyKit PRO. Kursus TypeScript Academy mencakup 4 pelajaran total.
Apa yang akan aku pelajari di “Batasan Generik: Mempersempit Parameter Tipe”?
Gunakan extends untuk memberlakukan persyaratan bentuk pada generik. Kamu berlatih TypeScript Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.
Apakah aku perlu pengalaman untuk memulai TypeScript Academy?
Tidak diperlukan pengalaman sebelumnya. TypeScript Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 2 dari 4.
Berapa lama pelajaran “Batasan Generik: Mempersempit Parameter Tipe” memakan waktu?
Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.
Bisakah aku menulis dan menjalankan kode dalam pelajaran TypeScript Academy ini?
Ya. Setiap pelajaran TypeScript Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.
Semua pelajaran dalam kursus ini
- Tipe Akses keyof dan Terindeks
- Batasan Generik: Mempersempit Parameter Tipe
- Tipe Kondisional: T extends U ? X : Y
- Tipe Kondisional Distributif