0Pricing
TypeScript Academy · Pelajaran

Jenis Manipulasi String Intrinsik

Gunakan Uppercase, Lowercase, Capitalize, dan Uncapitalize.

Jenis Manipulasi String Intrinsik adalah pelajaran TypeScript Academy gratis di CoddyKit. Ini adalah pelajaran 4 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.

Pengubah Teks Bawaan

TypeScript menyediakan empat tipe manipulasi teks intrinsik: Uppercase, Lowercase, Capitalize, dan Uncapitalize. Tipe-tipe ini mengubah tipe literal teks saat kompilasi, tanpa biaya saat program berjalan.

Uppercase

Uppercase<S> mengubah setiap karakter dari tipe literal teks menjadi huruf besar. Literal 'hello' menjadi tipe 'HELLO'.

type Loud = Uppercase<"hello"> // "HELLO"
const x: Loud = "HELLO"
console.log(x)

Lowercase

Lowercase<S> melakukan kebalikannya, yaitu mengubah setiap karakter menjadi huruf kecil. 'HELLO' menjadi 'hello'.

type Quiet = Lowercase<"HELLO"> // "hello"
const x: Quiet = "hello"
console.log(x)

Capitalize

Capitalize<S> hanya mengubah karakter pertama menjadi huruf besar dan membiarkan karakter lainnya. 'name' menjadi 'Name'.

type Title = Capitalize<"name"> // "Name"
const x: Title = "Name"
console.log(x)

Uncapitalize

Uncapitalize<S> hanya mengubah karakter pertama menjadi huruf kecil. 'Name' menjadi 'name' — berguna untuk mengubah kunci PascalCase menjadi camelCase.

type Camel = Uncapitalize<"Name"> // "name"
const x: Camel = "name"
console.log(x)

Mengubah Gabungan

Terapkan tipe intrinsik pada sebuah gabungan, dan tipe tersebut akan mengubah setiap anggotanya. Uppercase dari 'a' | 'b' menghasilkan 'A' | 'B'.

type Keys = "id" | "name"
type Upper = Uppercase<Keys> // "ID" | "NAME"
const k: Upper = "ID"
console.log(k)

Menggabungkan dengan Literal Templat

Tipe intrinsik paling bermanfaat saat digunakan di dalam tipe literal templat. Templat yang menambahkan get sebelum Capitalize dari suatu bidang akan membentuk nama pengambil, seperti pengambil untuk bidang nama.

type Field = "name" | "age"
// template: get + Capitalize<Field> => "getName" | "getAge"
const g: "getName" | "getAge" = "getName"
console.log(g)

Membangun Nama Kunci dalam Tipe Pemetaan

Dalam pemetaan ulang kunci pada tipe pemetaan, tipe intrinsik menghasilkan nama properti yang telah diubah — misalnya, mengubah setiap properti menjadi kunci penangan yang diawali huruf besar.

type Events = "click" | "drag"
// { [E in Events as on + Capitalize<E>]: () => void }
// produces keys onClick and onDrag
const handlers: { onClick: () => void } = { onClick: () => {} }
console.log(typeof handlers.onClick)

Merangkai Tipe Intrinsik

Anda dapat menumpuk tipe intrinsik untuk menggabungkan beberapa transformasi — misalnya, kombinasi yang umum adalah menerapkan Capitalize pada teks Lowercase untuk menormalkan penggunaan huruf besar-kecil.

type Normalized = Capitalize<Lowercase<"hELLO">> // "Hello"
const x: Normalized = "Hello"
console.log(x)

Hanya Saat Kompilasi

Tipe-tipe ini tidak ada saat program berjalan. Untuk mengubah nilai teks sebenarnya, Anda tetap memanggil metode seperti toUpperCase(); tipe intrinsik hanya membentuk tipe statis.

function shout<S extends string>(s: S): Uppercase<S> {
  return s.toUpperCase() as Uppercase<S>
}
console.log(shout("hi")) // HI, typed as "HI"

Penggunaan Praktis

Gunakan tipe intrinsik untuk menurunkan nama konstanta, kunci peristiwa, nama pengambil dan penyetel, serta menormalkan penggunaan huruf besar-kecil pada kunci konfigurasi bertipe literal — semuanya diperiksa oleh kompiler.

type Action = "add" | "remove"
type ActionType = Uppercase<Action> // "ADD" | "REMOVE"
const a: ActionType = "ADD"
console.log(a)

Pemeriksaan Singkat

Uji pemahaman Anda tentang tipe teks intrinsik.

Rangkuman

Tipe intrinsik Uppercase, Lowercase, Capitalize, dan Uncapitalize mengubah tipe literal teks saat kompilasi, didistribusikan ke seluruh anggota gabungan, serta dapat digabungkan dengan tipe literal templat dan tipe pemetaan untuk membangun nama kunci dan penangan. Tipe-tipe ini tidak memiliki perilaku saat program berjalan — gunakan metode teks yang sebenarnya untuk transformasi saat program berjalan, sedangkan tipe intrinsik membentuk tipe statis.

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Jenis Manipulasi String Intrinsik” gratis?

Ya — teks lengkap “Jenis Manipulasi String Intrinsik” 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 “Jenis Manipulasi String Intrinsik”?

Gunakan Uppercase, Lowercase, Capitalize, dan Uncapitalize. 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 4 dari 4.

Berapa lama pelajaran “Jenis Manipulasi String Intrinsik” 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. Dasar-Dasar Jenis Literal Templat
  2. Memodelkan String Terstruktur
  3. Union String dan Pelengkapan Otomatis
  4. Jenis Manipulasi String Intrinsik
← Kembali ke TypeScript Academy