Partial
- TypeScript kursu
- Orta seviye
- Ders 24/89
- 4 dk
Partial ile tüm özellikleri isteğe bağlı yapmayı öğrenirsin.
Partial
Partial<T>, T türündeki tüm özellikleri isteğe bağlı yapar. Her özelliğe ? eklenmiş gibi davranır; değer verilmeyen özellikler undefined olabilir. Güncelleme veya kısmi veri akışında bir nesnenin yalnızca bazı alanlarını almak için idealdir.
interface Kullanici {
ad: string;
yas: number;
}
function guncelle(u: Partial<Kullanici>) {
// u.ad ve u.yas isteğe bağlı
}Kısmi güncelleme deseni
Partial en çok güncelleme fonksiyonlarında işe yarar. Parametre Partial<Kullanici> olduğunda çağıran yalnızca değiştirmek istediği alanları verir. Gövde, var olmayan alanları undefined kontrolüyle atlar. Böylece hem çağrı sade olur hem de tür güvenliği bozulmaz.
Uygulama Kısmi güncelleme
Kullanici arayüzünü ad: string ve yas: number özellikleriyle tanımla. goster(u: Partial<Kullanici>): void fonksiyonu yazsın; gövdede u.ad varsa console.log ile yazdırılsın (yoksa atlanılsın). goster({ ad: "Deniz" }) çağrısı yap.
Başlangıç kodu
// Kullanici arayüzünü ad: string ve yas: number ile tanımla
// goster fonksiyonu parametresi Kullanici'nın kısmi hali olsun
// gövdede u.ad varsa console.log ile yazdır
// { ad: "Deniz" } nesnesiyle çağırÖrnek çözüm
interface Kullanici {
ad: string;
yas: number;
}
function goster(u: Partial<Kullanici>): void {
if (u.ad) {
console.log(u.ad);
}
}
goster({ ad: "Deniz" });Beklenen çıktı
Deniz
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 <code>Partial<Kullanici></code> aşağıdakilerden hangisini sağlar?
interface Kullanici { ad: string; yas: number; }
function guncelle(u: Partial<Kullanici>) {}- Tüm özellikleri isteğe bağlı yapar Doğru cevap
- Tüm özellikleri zorunlu yapar
- Bazı özellikleri çıkarır
- Tüm özellikleri readonly yapar
Açıklama: Partial, her özelliğe ? ekler ve böylece hepsini isteğe bağlı hale getirir. Zorunlu yapmak Required, çıkarmak Omit, readonly yapmak Readonly işidir.
2 Partial ekle
interface Ayar { tema: string; ses: boolean; }
function ayarla(a: ____<Ayar>) {
// a.tema ve a.ses isteğe bağlı
}
interface Ayar { tema: string; ses: boolean; }
function ayarla(a: Partial<Ayar>) {
// a.tema ve a.ses isteğe bağlı
}
Açıklama: Tüm özellikleri isteğe bağlı yapmak için Partial kullanılır. Required tersini yapar; Pick özellik seçer; Omit özellik çıkarır.
3 Partial parçaları
| Kavram | Anlamı |
|---|---|
Partial<T> |
Tüm özellikleri isteğe bağlı yapar |
Partial<Kullanici> |
Bir tür üzerinde kullanım |
u.ad? |
Sonuç: isteğe bağlı özellik |
guncelle({ yas: 30 }) |
Kısmi veriyle çağrı |