TypeScript
TypeScript Basic Types
TypeScript Type Güvenliğini sağladığından bahsetmiştik. Peki nedir bu temel Type türleri ve bunları kod içerisinde nasıl kullanıyoruz ? Implicit , Explicit Type Declaration nasıl gerçekleşiyor ?
Bu yazıda TypeScript Temel Türlerini nasıl tanımladığını anlatmaya çalışacağım.
A. Type Annotations
A.1 Temel Tipler
JavaScript tip tanımlamaları String, Number, Boolean ve Object iken bunun TypeScript karşılığı küçük harfle başlayacak şekilde aşağıdaki resimdeki gibi tanımlanır. string, boolean, number, {}, string[], number[], Array<string>
A.2 Fonksiyonlarda Tip Kullanımı
Peki fonksiyon parametrelerinini nasıl type safe hale getireceğiz. Return değeri otomatik olarak number dönecektir.
Biz istersek fonksiyon tanımlamalarında geriye nasıl bir tipte döndüğünüde tanımlayabiliriz.
Async fonksiyon türlerinde Promise türünde bir dönüş olması gerektiği için
Bazı durumlarda fonksiyon parametreleri undefined gelebilir. Bu durumları nasıl ele alabiliriz. :? işareti veya default değer atayarak..
Spread fonksiyonlar …variable array türündedir. Array tipi tanımlanmalıdır.
Bir callback fonksiyonunda da örneğinde map fonksiyonunda Implicit otomatik tanımlanan şeklinde callback fonksiyonu explicit olarak tanımlayabilirsiniz.
Implicit Type Checking
Değişkenlere tip ataması gerçekleştirmeden ilk atanan değerler üzerinden TypeScript saklı bir atama gerçekleştirir. Örneğin aşağıdaki atamalarda dosyayı .ts dönüştürdüğümüzde kendisi assignment değerine göre tür atamasını kendisi gerçekleştirecektir.
Aynı şekilde Array inline mapping yaptığımızda map nasıl parametreler ile döneceğini bildiği için map fonksiyon parametrelerini otomatik olarak aşağıda şekilde tanımlar.
Fakat map fonksiyonunu dışarıda tanımladığımızda dışarıdaki fonksiyon any parametreleri ile tanımlanır. Bu fonksiyonu farklı farklı yapılar çağırabileceğim için bu kısımda fonksiyon any olmasın istiyorsak bunu kendimiz tanımlamalıyız ..
TypeScript kendisinin en yakın gördüğü yapıya Type atama yapısına Type Inference System denir. Bunun ile ilgili detayları bu sayfadan ulaşabilirsiniz
Referanslar
Kaynak Kod
Okumaya Devam Et 😃
Bu yazının devamı veya yazı grubundaki diğer yazılara erişmek için bu linke tıklayabilirsiniz.