TypeScript Nedir? Neden Kullanmalıyız?
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 Nasıl Çalışır?
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.
TypeScript’in avantajları:
- JavaScript’i test etmek için çalıştırılması gerekir. Bu, bir hatanın olması durumunda tüm kodu kontrol etmek anlamına gelmektedir. Dolayısıyla, kodda hatalar bulmaya çalışmak için saatler harcamanız gerekir. TypeScript transpiler, hata denetimi özelliğini sağlar. Bu, komut dosyasının çalıştırılmadan önce hataları görmemize yardımcı olur.
- TypeScript, TLS (TypeScript Dil Servisi) aracılığıyla isteğe bağlı bir statik tipleme ve tür önerme sistemi ile birlikte gelir. TLS, herhangi bir tip tanımlanmamış değişkeni aldığı değere göre anlamlandırabilir.
- TypeScript, sınıflar, arayüzler gibi Nesneye Dayalı Programlama kavramlarını destekler.
Kısacası TypeScript, hata yakalamayı hızlandıran, kod okunaklığını arttıran yapısı sayesinde işlerimizi kolaylaştırıyor.