0Pricing
TypeScript Academy · Pelajaran

Tipe Literal Templat: Pola String

Gabungkan union string menjadi tipe berpola.

Tipe Literal Templat: Pola String adalah pelajaran TypeScript Academy gratis di CoddyKit. Ini adalah pelajaran 3 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

Tipe literal templat menggunakan sintaks tanda kutip terbalik pada tingkat tipe untuk membangun tipe string dari gabungan tipe string lainnya.

Tipe Literal Templat Dasar

Gabungkan tipe literal string dengan sintaks templat.
type Greeting = `Hello, ${string}`;
const g: Greeting = 'Hello, World'; // OK
// const bad: Greeting = 'Hi there'; // Error

Menggabungkan Gabungan

Saat gabungan digunakan dalam literal templat, TypeScript menghasilkan semua kombinasinya.
type Color = 'red' | 'green' | 'blue';
type Size = 'sm' | 'lg';
type ColorSize = `${Color}-${Size}`;
// 'red-sm' | 'red-lg' | 'green-sm' | ...

Pola Nama Peristiwa

Penggunaan umum: menghasilkan nama peristiwa bertipe dari entitas.
type Entity = 'user' | 'product';
type EventName = `on${Capitalize<Entity>}Created`;
// 'onUserCreated' | 'onProductCreated'

Capitalize dan Tipe Intrinsik Lainnya

TypeScript menyediakan Capitalize, Uncapitalize, Uppercase, dan Lowercase sebagai tipe manipulasi string bawaan.
type T = Capitalize<'hello world'>; // 'Hello world'
type U = Uppercase<'hello'>;        // 'HELLO'
type L = Lowercase<'WORLD'>;        // 'world'

Pola Pembuatan Pengambil

Gunakan tipe literal templat dengan tipe pemetaan untuk menghasilkan nama metode pengambil.
type Getters<T> = {
  [K in keyof T as `get${Capitalize<string & K>}`]: () => T[K]
};

Parameter Rute Bertipe

Ambil parameter rute bertipe dari string pola URL.
type RouteParams<T extends string> =
  T extends `${infer _Start}:${infer Param}/${infer Rest}`
    ? Param | RouteParams<Rest>
    : T extends `${infer _Start}:${infer Param}`
    ? Param
    : never;

Penamaan Properti CSS

Hasilkan nama properti khusus CSS yang bertipe.
type CSSVar = `--${string}`;
const color: CSSVar = '--primary-color'; // OK

Literal Templat dalam Parameter Fungsi

Gunakan tipe literal templat untuk membatasi parameter string.
function emit<E extends `on${string}`>(event: E): void {
  console.log('Emitting:', event);
}
emit('onClick'); // OK
// emit('click'); // Error — must start with 'on'

Mengambil Bagian dengan infer

Gunakan infer di dalam literal templat untuk mengambil substring pada tingkat tipe.
type GetSuffix<T extends string> =
  T extends `${infer _Prefix}_${infer Suffix}` ? Suffix : never;
type S = GetSuffix<'user_created'>; // 'created'

Irisan dengan Record

Gabungkan tipe literal templat dengan Record untuk membuat pemetaan penangan peristiwa yang bertipe.
type Handlers<T extends string> = Record<`on${Capitalize<T>}`, () => void>;

Pemeriksaan Singkat

Menjadi apa `type R = `${string | number}-id``?

Ringkasan

Tipe literal templat membangun tipe string dari berbagai gabungan menggunakan sintaks tanda kutip terbalik. Tipe ini didistribusikan ke gabungan, bekerja dengan pembantu Capitalize/Uppercase, dan memungkinkan pola canggih untuk nama peristiwa, parameter rute, serta variabel CSS.

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Tipe Literal Templat: Pola String” gratis?

Ya — teks lengkap “Tipe Literal Templat: Pola String” 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 “Tipe Literal Templat: Pola String”?

Gabungkan union string menjadi tipe berpola. 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 3 dari 4.

Berapa lama pelajaran “Tipe Literal Templat: Pola String” 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

  1. Tipe Terpetakan: Mengubah Tipe Objek
  2. Pengubah dalam Tipe Terpetakan: readonly dan ?
  3. Tipe Literal Templat: Pola String
  4. Pemetaan Ulang Kunci dengan as dalam Tipe Terpetakan
← Kembali ke TypeScript Academy