📄️ Primitives
JavaScript ekosisteminde primitive değerler aslında object olmayan değerleri, yani herhangi bir method'u ya da property'si olmayan değerleri ifade eder. Toplamda 7 immutable primitive data tipi bulunur:
📄️ Non-primitives
JavaScript'te primitive değerler dışında kalan değerler birer Objecttir. TypeScript ile verebileceğimiz bazı tipleri şu şekilde sıralayabiliriz.
📄️ Type vs. Interface
Type isimlendirmesi ve Interface birbirlerine oldukça benzerler. Çoğu durumda birini diğeri yerinde kullanabilirsiniz, Interface'in sunduğu tüm özellikler type için de geçerlidir. Aralarındaki en büyük fark type'ın yeni propertyler için yeniden açılamayacağı ancak interface'in her zaman extendable olmasıdır.
📄️ Type Assertions
Bazen TypeScript compiler'ını verdiğimiz değer tiplerini ondan daha iyi bildiğimizi ikna etmemiz gerekebilir. Olası bir tiplemenin önüne geçerek daha doğru bir tip oluşturabiliriz. Örneğin document.getElementById yazdığınızda TypeScript bunun bi çeşit HTMLElement olduğunu tahmin edecektir ancak siz sayfanızda her zaman ID'si olan bir HTMLCanvasElement'i olacağını biliyorsunuzdur.
📄️ Literal Types
Genel tiplerin yanı sıra doğrudan kendi string ve number değişkenlerimizle de tipler oluşturabiliriz. Tıpkı JavaScript'in var ve let ile tanımlanmış değişkenlerinin değişebildiği ancak const ile tanımlanan değişkenlerin değişmemesi gibi TypeScript'te de değişmeyecek tipler oluşturabiliriz.
📄️ Null ve Undefined
Javascript'te bir değerin var olmadığını ya da initialized edilmemiş olduğunu ifade etmek için iki primitive değer kullanılırız: null ve undefined.