TypeScript Academy · Ders

keyof ve Dizine Göre Erişim Türleri

keyof ve T[K] ile nesne özelliklerinin türlerine dinamik olarak erişin

1. ders / 413 adım

keyof ve Dizine Göre Erişim Türleri, CoddyKit'te ücretsiz bir TypeScript Academy dersidir. Bu, 4 dersinin 1. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, TypeScript Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. TypeScript Academy kursu toplamda 4 dersten oluşur.

Hoş Geldiniz

keyof, bir nesne türünün özellik adlarının birleşimini üretir. İndeksli erişim türleri (T[K]), belirli bir özellik anahtarındaki türü alır.

keyof Temelleri

keyof T, T türündeki tüm özellik adı türlerinin birleşimini döndürür.
interface User { id: number; name: string; email: string; }
type UserKeys = keyof User; // 'id' | 'name' | 'email'

İndeksli Erişim: T[K]

T türündeki K özelliğinin türünü almak için T[K] ifadesini kullanın.
type IdType = User['id'];   // number
type NameType = User['name']; // string

Dinamik Özellik Erişimi

Tür güvenli özellik erişici işlevleri oluşturmak için keyof ile genel türleri birleştirin.
function getProperty<T, K extends keyof T>(obj: T, key: K): T[K] {
  return obj[key];
}
const name = getProperty(user, 'name'); // string

keyof ile typeof

Bir arabirim bildirmeden, bir değerde typeof ve ardından özellik adlarını almak için keyof kullanın.
const config = { host: 'localhost', port: 3000 };
type ConfigKey = keyof typeof config; // 'host' | 'port'

İndeksli Türlerin Birleşimi

Değer türlerinin birleşimini almak için bir türü anahtarların birleşimiyle indeksleyin.
type NumericValues = User['id' | 'age']; // number | number = number

Dizilerde keyof

Bir dizi türünde keyof kullanıldığında dizi dizini türleriyle dizi yöntem adlarının birleşimi döndürülür.
type ArrKey = keyof string[]; // number | 'length' | 'push' | ...
type Element = string[][number]; // string

Özyinelemeli İndeksli Erişim

İç içe nesneler için indeksli erişim türlerini art arda kullanın.
type Address = { city: string; zip: string };
type Profile = { address: Address };
type City = Profile['address']['city']; // string

keyof ile Kısıtlamalar

K'nin T için geçerli bir anahtar olduğundan emin olmak üzere genel tür kısıtlaması olarak K extends keyof T ifadesini kullanın.
function setProperty<T, K extends keyof T>(obj: T, key: K, value: T[K]): void {
  obj[key] = value;
}

Eşlemeli Türlerde keyof Kullanımı

Eşlemeli türler, nesne türlerini dönüştürmek için keyof T üzerinde yineleme yapar.
type Readonly2<T> = { readonly [K in keyof T]: T[K] };

Koşullu Türlerde keyof

keyof, belirli anahtar gruplarını ayıklamak için koşullu türlerde güçlü bir araçtır.
type StringKeys<T> = { [K in keyof T]: T[K] extends string ? K : never }[keyof T];

Hızlı Kontrol

`interface User { name: string }` ise `User['name']` ne döndürür?

Özet

keyof, özellik adlarını bir birleşim türü olarak ayıklar. T[K], bir anahtardaki türü alır. Birlikte tür güvenli özellik erişimini, eşlemeli türleri ve koşullu tür yardımcı programlarını mümkün kılarlar.
Başlamak ücretsiz

Yapay zeka eğitmeniyle TypeScript öğren — ücretsiz

Tarayıcında gerçek kod yaz ve çalıştır, 7/24 yapay zeka eğitmeninden anında yardım al; web'de ya da uygulamada kaldığın yerden devam et.

Kurslar
101
Dersler
352

Sıkça Sorulan Sorular

“keyof ve Dizine Göre Erişim Türleri” dersi ücretsiz mi?

Evet — “keyof ve Dizine Göre Erişim Türleri” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve TypeScript Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. TypeScript Academy kursu toplamda 4 dersten oluşur.

“keyof ve Dizine Göre Erişim Türleri” dersinde ne öğreneceğim?

keyof ve T[K] ile nesne özelliklerinin türlerine dinamik olarak erişin TypeScript Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

TypeScript Academy öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te TypeScript Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 1. dersidir.

“keyof ve Dizine Göre Erişim Türleri” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu TypeScript Academy dersinde kod yazıp çalıştırabilir miyim?

Evet. Her TypeScript Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. keyof ve Dizine Göre Erişim Türleri
  2. Genel Kısıtlamalar: Tür Parametrelerini Daraltma
  3. Koşullu Türler: T extends U ? X : Y
  4. Dağıtıcı Koşullu Türler
← TypeScript Academy Sayfasına Dön