0Pricing
TypeScript Academy · Pelajaran

Jenis Akses Terindeks

Cari jenis properti dengan sintaks T[K].

Jenis Akses Terindeks 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.

Mencari Tipe Properti

Tipe akses terindeks memungkinkan Anda mencari tipe suatu properti menggunakan sintaks kurung siku dalam posisi tipe: Obj['prop']. Ini seperti membaca nilai, tetapi pada tingkat tipe.

Akses Terindeks Dasar

Indeks suatu tipe dengan kunci literal untuk mengekstrak tipe properti tersebut. User['name'] menghasilkan string.

interface User { id: number; name: string }
type NameType = User["name"] // string
const n: NameType = "Ada"
console.log(n)

Mengapa Tidak Menuliskan Tipe Saja

Akses terindeks menjaga tipe tetap sinkron. Jika User.name berubah dari string menjadi tipe lain, setiap User['name'] diperbarui secara otomatis — tanpa pengeditan manual.

interface Product { price: { amount: number; currency: string } }
type Price = Product["price"] // { amount: number; currency: string }
const p: Price = { amount: 10, currency: "USD" }
console.log(p)

Mengakses dengan Gabungan Kunci

Lakukan pengindeksan dengan gabungan kunci untuk mendapatkan gabungan tipe nilainya. User['id' | 'name'] menghasilkan number | string.

interface User { id: number; name: string }
type IdOrName = User["id" | "name"] // number | string
const v: IdOrName = 5
console.log(v)

Obj[keyof Obj] untuk Semua Nilai

Lakukan pengindeksan dengan keyof Obj untuk mendapatkan gabungan semua tipe nilai dalam objek — seluruh kumpulan tipe nilainya.

interface Config { host: string; port: number; secure: boolean }
type Values = Config[keyof Config] // string | number | boolean
const v: Values = true
console.log(v)

Tipe Elemen Larik dengan [number]

Untuk tipe larik, lakukan pengindeksan dengan number untuk mendapatkan tipe elemennya. string[][number] adalah string.

type Names = string[]
type Item = Names[number] // string
const x: Item = "Ada"
console.log(x)

Tipe Elemen Tupel

Mengindeks tupel dengan number menghasilkan gabungan semua tipe elemennya — berguna untuk menurunkan tipe nilai dari daftar tetap.

type Pair = [string, number]
type Element = Pair[number] // string | number
const e: Element = 42
console.log(e)

Menggabungkan dengan typeof

Akses tipe suatu nilai melalui typeof. Bersama [number] pada array as const, ini menurunkan gabungan nilai literal array tersebut.

const colors = ["red", "green", "blue"] as const
type Color = typeof colors[number] // "red" | "green" | "blue"
const c: Color = "green"
console.log(c)

Akses Terindeks Bertingkat

Rangkai pencarian untuk menyelami tipe bertingkat. Setiap tanda kurung siku turun satu tingkat dalam struktur.

interface Data { user: { profile: { age: number } } }
type Age = Data["user"]["profile"]["age"] // number
const a: Age = 36
console.log(a)

Akses Terindeks dalam Tipe Generik

Pola T[K] dengan K extends keyof T adalah dasar pengambil yang aman tipe: tipe kembalian persis sama dengan tipe properti yang dicari.

function get<T, K extends keyof T>(obj: T, key: K): T[K] {
  return obj[key]
}
const port = get({ host: "x", port: 80 }, "port")
console.log(port) // 80, typed as number

Penurunan Praktis

Akses terindeks menghindari penggandaan tipe: turunkan tipe argumen fungsi langsung dari objek domain alih-alih menuliskannya ulang.

interface Order { items: { sku: string; qty: number }[] }
type LineItem = Order["items"][number] // { sku: string; qty: number }
const li: LineItem = { sku: "A1", qty: 2 }
console.log(li)

Uji Singkat

Uji pemahaman Anda tentang tipe akses terindeks.

Ringkasan

Tipe akses terindeks (Obj['prop']) mencari tipe suatu properti dan tetap selaras dengan sumbernya. Gunakan gabungan kunci untuk memperoleh gabungan tipe nilai, keyof Obj untuk semua nilai, dan number untuk tipe elemen array atau tupel. Rangkai tanda kurung siku untuk pencarian bertingkat, lalu gabungkan dengan typeof dan tipe generik (T[K]) untuk penurunan tipe yang aman.

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Jenis Akses Terindeks” gratis?

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

Cari jenis properti dengan sintaks 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 3 dari 4.

Berapa lama pelajaran “Jenis Akses 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. Operator Jenis typeof
  2. Operator Jenis keyof
  3. Jenis Akses Terindeks
  4. Menggabungkan typeof dan keyof
← Kembali ke TypeScript Academy