Dizilerle Spread Operatörü
Coddy'nin JavaScript Journey'sinin TypeScript'e Giriş bölümünün bir parçası — ders 20 / 73.
JavaScript'in yayılma operatörü (...), TypeScript'in tipli dizileriyle sorunsuz bir şekilde çalışan güçlü bir özelliktir. Dizileri birleştirmek için yayılma söz dizimini kullandığınızda, TypeScript sonuç dizisi için doğru tipi otomatik olarak çıkarır ve işlem boyunca tam tip güvenliğini korur.
Yayılma operatörü (spread operator), bir dizinin öğelerini tekil öğelere "yaymanıza" olanak tanır. Türü belirtilmiş dizileri (typed arrays) birleştirirken, yeni bir dizi oluşturmak için köşeli parantezlerin içinde yayılma sözdizimini kullanmanız yeterlidir:
let firstNumbers: number[] = [1, 2, 3];
let secondNumbers: number[] = [4, 5, 6];
let combined: number[] = [...firstNumbers, ...secondNumbers];
// Sonuç: [1, 2, 3, 4, 5, 6]TypeScript, iki number[] dizisini birlikte yaydığınızda (spread), sonucun da bir number[] olduğunu anlayacak kadar akıllıdır. Bu tür çıkarımı (type inference); string, boolean veya özel nesneler fark etmeksizin herhangi bir dizi türüyle çalışır.
Spread operatörünü tekil öğelerle bile birlikte kullanabilirsiniz:
let scores: number[] = [85, 92];
let allScores: number[] = [100, ...scores, 78];
// Sonuç: [100, 85, 92, 78]Bu yaklaşım, orijinal dizileri değiştirmeden yeni bir dizi oluşturur; bu da özellikle değişmez (immutable) veri desenleriyle çalışırken oldukça kullanışlıdır. Yayılma operatörü (spread operator), TypeScript'in tür denetimi avantajlarını korurken dizileri birleştirmek için temiz ve okunabilir bir yol sunar.
Görev
Kolay85, 92 ve 78 sayılarını içeren firstScores ve 88, 95 ve 82 sayılarını içeren secondScores adında iki adet tipli dizi oluşturun.
Her iki diziyi allScores adında yeni bir dizide birleştirmek için yayma (spread) operatörünü kullanın.
5 ve 10 sayılarını içeren bonusPoints adında başka bir tipli dizi oluşturun.
allScores ile bonusPoints dizilerini birleştiren, ancak aynı zamanda başına 100 sayısını ve sonuna 90 sayısını ekleyen finalScores adında nihai bir dizi oluşturmak için yayma operatörünü kullanın.
finalScores dizisini konsola yazdırın.
Kendin dene
// TODO: Kodunuzu buraya yazın
console.log(finalScores);Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.
TypeScript'e Giriş bölümündeki tüm dersler
1TS ile Başlarken
TypeScript Nedir?Neden TypeScript Kullanılır?İlk TypeScript KodunuzDerleme Süreci ve HatalarÖzet: TS'ye Giriş4Fonksiyonlarla Çalışmak
Parametre ve Dönüş Değerlerini TiplendirmeArrow Fonksiyonlarını Tiplendirme'void' Dönüş Tipi'?' ile Opsiyonel ParametrelerVarsayılan Parametre DeğerleriRest Parametrelerini TiplendirmeFonksiyon Tiplerini TanımlamaÖzet: Tiplendirilmiş Fonksiyonlar Oluşturma2Temel Tipler
Temel Tipler: str, num, boolean'any' Tipi: Kaçış Yolu'unknown' Tipi'null' ve 'undef' ile ÇalışmakTip Çıkarımı İş BaşındaAçık Tip BelirlemeleriÖzet: Temel Tipler Pratiği5Tipler: Takma Adlar, Unionlar ve Kesişimler
İlkel Tipler için Tip Takma AdlarıUnion Tipler ('|')Union Tipler ile ÇalışmakLiteral TiplerKesişim Tipleri ('&')Tip Takma Adlarını BirleştirmeÖzet: Gelişmiş Tip Kombinasyonları3Veri Yapısı: Diziler ve Tuple
Tipli DizilerDiziler için 'readonly' BelirleyicisiTuple Nedir?Tuple Tanımlama ve ErişmeTuple DestructuringReadonly Tuple'larÇok Boyutlu Tipli DizilerDizilerle Spread OperatörüÖzet: Diziler ve Tuple'lar6Nesneleri ve Interface'leri Tiplendirme
Satır İçi Nesne Tipi BelirtimleriNesneler için Type Alias KullanımıInterface'lere GirişInterface'ler ve Type Alias'ların KarşılaştırılmasıOpsiyonel ve Readonly ÖzelliklerInterface ve Tipleri GenişletmeInterface'lere Metot EklemeÖzet: Nesne Yapılarını Tanımlama