0Pricing
TypeScript Academy · Ders

Genel işlevler ve kısıtlamalar (extends, varsayılan parametreler)

Genel işlevler oluşturun, extends ile kısıtlamalar ekleyin ve kullanımı kolay API'ler için varsayılan tür parametrelerinden yararlanın.

Genel işlevler ve kısıtlamalar (extends, varsayılan parametreler), CoddyKit'te ücretsiz bir TypeScript Academy dersidir. Bu, 3 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 3 dersten oluşur.

Giriş

Amaç: Jenerikler ile işlevleri yeniden kullanılabilir ve tür açısından güvenli hâle getirin. Tür parametreleri tanımlayacak, extends kısıtlamaları ekleyecek ve daha iyi DX için varsayılan tür parametreleri belirleyeceksiniz.

Özdeşlik jeneriği

Bir tür parametresi <T> tanımlayın. Derleyici, T'yi bağımsız değişkenlerden çıkarır; bu nedenle çağrı yapan kodun T'yi belirtmesi nadiren gerekir.

function identity<T>(x: T): T {
  return x;
}

const a = identity(42);    // T inferred as number
const b = identity("ts"); // T inferred as string
console.log(a, b);

extends ile kısıtlama

Bir yapıyı (ör. bir id) zorunlu kılmak için extends kullanın. Yapısal tipleme sayesinde T daha fazla alan içerebilir.

function getId<T extends { id: number }>(item: T): number {
  return item.id;
}

getId({ id: 1, name: "Ada" }); // OK (has id)
// getId({ name: "Lin" });    // Error: missing id

keyof kısıtlaması

K'yi keyof T ile kısıtlayarak yalnızca T'deki özellik adlarına izin verin. Dönüş türü, özelliğin türü olan T[K]'dir.

function pluck<T, K extends keyof T>(obj: T, key: K): T[K] {
  return obj[key];
}

const user = { id: 7, name: "Neo" };
const v1 = pluck(user, "name"); // string
const v2 = pluck(user, "id");   // number
console.log(v1, v2);

Varsayılan tür parametreleri

Varsayılan tür parametreleri tekrarlı kodu azaltır. Çağrı yapan kod yaygın durumlarda <T> ifadesini atlayabilir, gerektiğinde yine de üzerine yazabilir.

interface Box<T = string> {
  value: T;
}

const aBox: Box = { value: "hi" };       // T defaults to string
const nBox: Box<number> = { value: 123 }; // explicit override
console.log(aBox.value, nBox.value);

İpuçları

İpuçları:

  • İşi tür çıkarımına bırakın; gereksiz T açıklamalarından kaçının.
  • extends ifadesini yalnızca uygulamanın T üyelerine ihtiyaç duyduğu zaman ekleyin.
  • Kullanışlı ve yaygın durumlar için varsayılanlar sağlayın.

Kısıtlama kontrolü

Hızlı kontrol: T extends { id: number } neyi garanti eder?

Özet

Özet: Jenerik işlevler tanımlayın, extends ile kısıtlayın ve API'leri esnek ama kullanımı kolay tutmak için varsayılan tür parametreleri belirleyin.

Sıkça Sorulan Sorular

“Genel işlevler ve kısıtlamalar (extends, varsayılan parametreler)” dersi ücretsiz mi?

Evet — “Genel işlevler ve kısıtlamalar (extends, varsayılan parametreler)” 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 3 dersten oluşur.

“Genel işlevler ve kısıtlamalar (extends, varsayılan parametreler)” dersinde ne öğreneceğim?

Genel işlevler oluşturun, extends ile kısıtlamalar ekleyin ve kullanımı kolay API'ler için varsayılan tür parametrelerinden yararlanın. 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, 3 dersinin 1. dersidir.

“Genel işlevler ve kısıtlamalar (extends, varsayılan parametreler)” 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. Genel işlevler ve kısıtlamalar (extends, varsayılan parametreler)
  2. Partial, Readonly, Record, Pick, Omit
  3. keyof/bölümlemeli erişim türleri (giriş)
← TypeScript Academy Sayfasına Dön