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