Teknoloji Forumu

TypeScript Nedir? TypeScript VS JavaScript

TypeScript Microsoft tarafından geliştirilmiş, açık kaynak ve nesne yönelimli bir programlama dilidir. JavaScript’in yaygınlaşması ve de kullanım alanlarının artmasıyla bir ihtiyaç olarak TypeScript doğmuştur. ‘Ne tür bir ihtiyaç?’ diye sorgulamak için önce JavaScript dilinin yapısına bakalım.

JavaScript yapısı gereği dinamik bir dildir. Dinamik bir dili çalıştırana dek eğer kod içinde bir hata varsa görme imkanı sunmaz. Bunun yanında daha etkin ve esnek kullanım sunar. JavaScript’in en güçlü yanlarından biri dinamik olmasıdır. Fakat zamanla büyük projelerin içinde kullanılmak istenildiğinde bu dinamik yapısı bir dezavantaja dönüştü.

JavaScript ilk tasarlandığında basit ve yalın bir yapıya sahip olduğu için, büyük projelerin ihtiyacı olan bazı yapılarda eksikleri vardı. Statik yapı, sınıflar, interface gibi yapılar JavaScript’in içinde yer almıyordu.

Büyük projeleri destekleyecek, içinde Javascript’i barındıran yeni bir dil ihtiyacı vardı. Typescript’in ortaya çıkması da bu şekilde gerçekleşti.

Javascript hakkında detaylı bilgiye sahip olmak isteyenler sitemizden okuyabilirler.

TypeScript Nedir?

C# dilinin yaratıcısı Anders Hejlsberg tarafından geliştirilen TypeScript’in ilk versiyonu 2012 yılında yayımlanmıştır. Yıllar içinde gelişimini sürdürerek, yeni özellikler eklenerek günümüze kadar ulaşmıştır.

TypeScript’in JavaScript’deki bazı eksiklikleri gidermesi üzerine geliştirildiğinden bahsetmiştik. Kısaca var olanın üzerine eklemeler yapılmıştır. Bu nedenle TypeScript JavaScript’i içinde barından büyük bir kümedir diyebiliriz.

JavaScript’i öğrendik şimdi üstüne TypeScript de mi öğreneceğiz?

  • Hayır, çünkü JavaScript’de yazdığınız kodu TypeScript içerisinde de kullanabilirsiniz.
typescript vs javascript
javascript vs typescript
  • JavaScript interpreted (yorumlayıcı) bir dil iken TypeScript compiled (derleyici) bir dildir.

Derleyici ve Yorumlayıcı Diller:

Derleyici bir dil, kodu makine diline direkt olarak çevirir. Öte yandan yorumlayıcı bir dil, direkt olarak makine diline çevrilmez. Bir başka program yardımıyla satır satır okunur ve de çalıştırılır.

Bunu daha da açıklamak gerekirse İtalyanca yazılmış bir yemek tarifi düşünelim. Bunu yapmak istiyorsunuz fakat İtalyanca bilmiyorsunuz. İki seçeneğiniz var. Birisi gelip sizin için Türkçe’ye tercüme edecek. Ya da İtalyanca bilen kişi yanınıza oturup satır satır size tarifi açıklayacak. İlki için compiler (derleyici) ve ikinci için interpreted (yorumlayıcı) diyebiliriz.

(Bu benzetme freeCodeCamp sitesinden esinlenilmiştir. )

TypeScript’in derleyici yapısıyla derlendiği zaman JavaScript kodu üretmektedir. TypeScript bir nevi araç görevini görmüş oluyor kod içerisinde. Bu sayede ekstra bir kütüphane kullanımı da ortadan kalkmış oluyor.

  • TypeScript kodu “.ts” uzantısıyla bitmektedir. Bu şekilde her cihazda çalıştırılabilir.
  • JavaScript uzantısına sahip “.js” dosyaları “.ts” uzantısına değiştirilip, TypeScript ortamına eklenebilir.

TypeScript VS JavaScript

Bir kod örneği üzerinde iki dili karşılaştırmak daha anlaşılır kılacaktır. İlk kodumuz TypeScript ve diğer kodumuz da JavaScript.

Add adında bir fonksiyonumuz var. İki sayıyı birbirine ekleyip sonucu bize döndürüyor.

İlk örneğe baktığımızda x ve y değişkenlerinin tipleri belirtilmiştir. Sayı olacaktır. Eğer programı yazarken sayı yerine yazı kullanırsak program bizi uyaracaktır. Örnekte görüldüğü gibi tırnak içine alınmış 1 rakamları toplanılmaya çalışılmıştır. Program ise hata olduğunu söylemiştir.

Öte yandan ikinci örneğe baktığımızda böyle bir hata görmemekteyiz. İlk baştaki x ve y değişkenlerinin sayı olduğu da belirtilmemiş elbette. Bu sefer aynı örnekte, tırnak içinde birleri topladığımızda sonuç olarak 11 yazdırdığını görmekteyiz.

Bu tür gözden kaçabilecek hatalar büyük projeler için önem arz ediyor. Bu nedenle büyük projeler için geliştirilmiş, hataların önüne geçmeyi amaçlayan bir programlama dilidir.

typescript vs javascript
TYPESCRIPTJAVASCRIPT
KİM?Anders Hejlsberg, MicrosoftBrendan Eich, Netscape
ÖZELLİKLERİ?Nesne yönelimli bir dil, derlenebilir bir dil.Öğrenmesi kolay, esnek, yorumlanabilir bir scripting dili.
DOSYA UZANTISI?.ts.js
TOPLULUK?Büyük bir topluluğu yok.En büyük topluluklardan birine sahip.
KULLANAN ŞİRKETLER?Asana, Clever, Screen awardAirbnb, Codecademy, Instagram

JavaScript küçük çaplı projelerde, dinamik web sayfalarında kullanıma yönelik iken TypeScript büyük çaplı projelere yöneliktir.

Teknoloji'den geri kalmamak için e-posta listemize abone olun!

teknoloji, hayal gücü ve sanat dünyalarını seven, üçünü bir araya getirmeye hevesli bir bilgisayar mühendisliği öğrencisi.


Yorum yapın