0Pricing
TypeScript Academy · Pelajaran

Tipe Akses keyof dan Terindeks

Akses tipe properti objek secara dinamis dengan keyof dan T[K].

Tipe Akses keyof dan Terindeks adalah pelajaran TypeScript Academy gratis di CoddyKit. Ini adalah pelajaran 1 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

keyof menghasilkan gabungan nama properti dari suatu tipe objek. Tipe akses terindeks (T[K]) mengambil tipe pada kunci properti tertentu.

Dasar-Dasar keyof

keyof T mengembalikan gabungan semua tipe nama properti dari T.
interface User { id: number; name: string; email: string; }
type UserKeys = keyof User; // 'id' | 'name' | 'email'

Akses Terindeks: T[K]

Gunakan T[K] untuk mendapatkan tipe properti K dalam tipe T.
type IdType = User['id'];   // number
type NameType = User['name']; // string

Akses Properti Dinamis

Gabungkan keyof dan generik untuk membuat fungsi pengakses properti yang aman secara tipe.
function getProperty<T, K extends keyof T>(obj: T, key: K): T[K] {
  return obj[key];
}
const name = getProperty(user, 'name'); // string

keyof dengan typeof

Gunakan typeof pada suatu nilai, lalu gunakan keyof untuk mendapatkan nama propertinya tanpa mendeklarasikan antarmuka.
const config = { host: 'localhost', port: 3000 };
type ConfigKey = keyof typeof config; // 'host' | 'port'

Gabungan Tipe Terindeks

Indeks suatu tipe dengan gabungan kunci untuk mendapatkan gabungan tipe nilainya.
type NumericValues = User['id' | 'age']; // number | number = number

keyof pada Larik

keyof pada tipe larik mengembalikan tipe indeks larik serta nama metode larik.
type ArrKey = keyof string[]; // number | 'length' | 'push' | ...
type Element = string[][number]; // string

Akses Terindeks Rekursif

Rangkai tipe akses terindeks untuk objek bertingkat.
type Address = { city: string; zip: string };
type Profile = { address: Address };
type City = Profile['address']['city']; // string

Batasan dengan keyof

Gunakan K extends keyof T sebagai batasan generik untuk memastikan K adalah kunci T yang valid.
function setProperty<T, K extends keyof T>(obj: T, key: K, value: T[K]): void {
  obj[key] = value;
}

Tipe Pemetaan Menggunakan keyof

Tipe pemetaan melakukan iterasi pada keyof T untuk mengubah tipe objek.
type Readonly2<T> = { readonly [K in keyof T]: T[K] };

keyof dalam Tipe Kondisional

keyof sangat berguna dalam tipe kondisional untuk mengambil kelompok kunci tertentu.
type StringKeys<T> = { [K in keyof T]: T[K] extends string ? K : never }[keyof T];

Pemeriksaan Singkat

Apa yang dikembalikan oleh `User['name']` jika `interface User { name: string }`?

Ringkasan

keyof mengambil nama properti sebagai tipe gabungan. T[K] mengambil tipe pada suatu kunci. Keduanya memungkinkan akses properti yang aman secara tipe, tipe pemetaan, dan utilitas tipe kondisional.

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Tipe Akses keyof dan Terindeks” gratis?

Ya — teks lengkap “Tipe Akses keyof dan Terindeks” 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 Akses keyof dan Terindeks”?

Akses tipe properti objek secara dinamis dengan keyof dan T[K]. 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 1 dari 4.

Berapa lama pelajaran “Tipe Akses keyof dan Terindeks” 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 Akses keyof dan Terindeks
  2. Batasan Generik: Mempersempit Parameter Tipe
  3. Tipe Kondisional: T extends U ? X : Y
  4. Tipe Kondisional Distributif
← Kembali ke TypeScript Academy