TypeScript nedir, ne işe yarar, neden kullanmalıyız? gibi soruların cevabını bu makalede anlatmaya çalışacağım.
Son yıllarda JavaScript ‘in yükselişini illa ki bir yerlerde okumuş veya duymuşsunuzdur. Öncelerden JavaScript sadece tarayıcıda istemci tarafında işlerin yapılmasını sağlarken günümüzde NodeJS gibi platformlarda server da da çalışabiliyor. Hatta ve hatta istemci tarafında çalışan büyük masaüstü uygulamarını bile geliştirebiliyoruz.
JavaScript ilk tasarlanırken büyük ölçekli uygulama geliştirmek için tasarlanmamıştır. Yani Javascript’te C#, Java ‘da olduğu gibi classlar, interfaceleri modüller vb. yapılar mevcut değil. Bu durum JavaScript ile büyük projelerde development yapmayı zorlaştırıyor.
Derken imdadımıza TypeScript yetişiyor. TypeScript, JavaScript’in sıkıntılı yanlarından bizi kurtarır ve büyük ölçekli uygulamalar geliştirmemizi sağlar. TypeScript, JavaScript’in sağladı tüm imkanları sağlarken üzerine enum, interface(ve daha fazlası) gibi yapıları kullanabilmemize imkan sağlıyor. Bu nedenle TypeScript JavaScript’in bir üst kümesidir diyebiliriz.
TypeScript kodu derlendiğinde aslında çıktı olarak JavaScript kodu üretiliyor. Yani Typescript içerisinde kullandığımız enum, interface gibi yapılar geçerli bir Javascript koduna çevriliyor. Kodumuzun düzenini sağlamak için kullandığımız bazı yapılar ise(örneğin interfaceler) JavaScripte bile çevrilmiyor. Onlar sadece derleme işlemi sırasında Typescript tarafından kullanılıyor. Böylece temiz bir Javascript çıktısı elde ediyoruz. Ayrıca Typescript sadece derleme esnasında görev aldığı için çalışma zamanında TypeScript ‘ten doğabilecek bir performans sorunu da söz konusu değil. Çünkü Typescript kodu derlenip Javascript kodu üretildiğinde Typescript ‘in işi burada bitiyor. Bunun yanında dışarıya çıkan kod tamamen JavaScript olduğu için TypeScript kullandığınız için herhangi ekstra bir runtime veya kütüphane vs.. kullanmanız gerekmiyor.
Eğer TypeScript ile yazılmış bir kodun JavaScript karşılığının nasıl olduğunu görmek isterseniz, TypeScript Playground ‘u inceleyebilirsiniz.
Kısacası TypeScript, hata yakalamayı hızlandıran, kod okunaklığını arttıran yapısı sayesinde işlerimizi kolaylaştırıyor.