Diziler & Tuple'lar

Diziler & Tuple'lar: TypeScript array'i, raflarındaki ürün tipini değiştirmeyen bir market koridoru gibidir — 'meyve koridoru' rafına sadece meyve koyabilirsiniz, ortasına bir la

TypeScript array'i, raflarındaki ürün tipini değiştirmeyen bir market koridoru gibidir — 'meyve koridoru' rafına sadece meyve koyabilirsiniz, ortasına bir laptop bırakamazsınız. Java'da bu zaten List ile yapılıyordu: sadece String kabul eden bir liste. Peki Java zaten bunu yapıyorken TypeScript'in string[] yazımı neden farklı/daha kısa görünüyor? Çünkü TypeScript array tipini her elemanın yanına değil dizinin tamamına bir kere yazar (string[] = Java'daki List 'in kısaltılmış hali), generic syntax (Array ) de aynı şeyi söyler, sadece daha uzun yazılır. QA bağlamında bunun bedeli somut: test verisi dizisine yanlışlıkla bir number veya null karıştığında (örn. API'den dönen kullanıcı listesine bozuk bir kayıt sızdığında), tip kontrolü olmayan plain JavaScript bunu sessizce kabul edip ileride 'undefined is not a function' ile production'da patlar; typed array bunu derleme anında, testi bile çalıştırmadan yakalar.

Micro Lab: TypeScript kod yazma

TODO satirini beklenen cozumdeki kritik satirla degistir. Bu gercek runtime degil; amac dogru yapinin yazilmasini kontrollu olarak pekistirmek.

Tipli diziler — Java'dan farklı ne var?

string[] ve Array tamamen eşdeğer — string[] daha yaygın

Yanlış tip hemen hata

names.push(42) — string[] içine number atanamaz, tsc hata verir

filter/map/reduce tipli

testCases.filter(t => !t.passed) — TypeScript dönüş tipini bilir: TestCase[]

Tipli bir dizi oluşturmanın adımlarını sırala:

Dizi elemanının tipini belirle

string[] veya Array syntax seç

Diziye sadece doğru tipte eleman ekle

filter/map/reduce ile tipli işlem yap