Ana içeriğe atla

TypeScript ve JavaScript Arasındaki İlişki

TypeScript ile JavaScript arasındaki ilişkiyi tanımlamak için seçilebilecek en iyi tanımlamalardan biri "Typescript JavaScripti extend eden ve program çıktısı yine JavaScript olan nesne yönelimli programlama dilidir." olurdu.

İlk cümleden de gördüğünüz gibi TypeScripti tanımlayan bir cümlede 2 defa JavaScript sözünü kullanmak zorunda kaldık. Bu makalemizde de temel hatlarıyla TypeScript ile JavaScript arasındaki ilişkiyi inceleyecek ve iyi bir Typescript geliştiricisi olabilmeniz için ne kadar JavaScript bilmeniz ve ne kadarını kullanmanız gerektiğine değineceğiz.

TypeScript ile JavaScript arasındaki ilişkiyi makaleye giriş yaparken verdiğim tanım esasında bir kaç açıdan inceleyeceğiz. Bunlardan birincisi TypeScript'in JavaScripti de kapsayan bir dil olması, ikincisi TypeScript derleyicisi aracılığıyla JavaScript kodlarına dönüşme sürecidir. Makalenin sonuna doğru ise TypeScript içinde JavaScript yazabiliyor olmamız yazmamız gerektiği anlamına gelmediğini detaylarıyla açıklamaya çalışacağım. Bu noktada da TypeScript ve JavaScript arasındaki temel fark olan nesne yönelimli mantığı da incelemiş olacağız.

Öncelikle TypeScript dosyaları ve ya programı içerisinde istediğiniz kadar JavaScript kodları yazabilirsiniz. TypeScript derleyicisi JavaScript kodlarını da anlayacak şekilde geliştirilmiştir. Bu durumu aşağıdaki resim daha iyi açıklamaktadır.


Resimden de gördüğünüz gibi TypeScript JavaScriptin özelliklerini geliştiren bir dildir ve bir anlamda JavaScript programlama diline nesne yönelimli özellik kazandırır. JavaScript ile daha önce program geliştirmiş olan deneyimli yazılımcılar nesne yönelimli yazılım geliştirme ve nesne yönelimli yazılım geliştirme standartları konularında ne kadar eksik kaldığını ve günümüz yazılım geliştirme hızını olumsuz yönde nasıl etkilediğinin farkındadırlar.

Makalenin bir kısmında bir TypeScript'in JavaScript dünyasında oluşturduğu bir deprem etkisine de değinmek istiyorum. Bu da bir kaç sene önce en popüler framework olarak görülen AngularJS teknolojisinin de sonunu getirmesi oldu.

TypeScript'in ünlenmesi ve yaygın olarak kullanılması AngularJS teknolojisinden Angular'a doğru olan kaymanın nedeni ile açıklanabilir. Aynı zamanda Angular teknolojisinin tercih edilmesinin temel nedenlerinden biri de geliştiricilerin yatkın olduğu nesne yönelimli mantığını web uygulamalarında da uygulayabiliyor olmalarıdır ve bunu sağlayan da TypeScript programlama dilidir. Bu yüzden geldiğimiz nokta itibari ile TypeScript ve Angular teknolojilerinin de bir birlerinin gelişmesinde aktif bir rol oynadığını söyleyebiliriz. Yani TypeScript Anguları tercih edilebilir yaparken, Angular da TypeScript tanıtımını yaptı ve bu da doğal olarak bir çok yazılım geliştiricinin farklı proje türlerinde de TypeScriptin önünü açmış oldu.

Yorumlar

Bu blogdaki popüler yayınlar

TypeScript Veri Tipleri - Number

Number veri tipi TypeScript programlama dilinde tüm sayısal verileri tanımlayabileceğimiz veri türüdür ve kayan noktalı sayılar, ikilik, sekizlik ve on altılık sayı sistemleri ile desteklenmiştir. Tek farkı ise bu veri türlerinin hepsinin tek değişken türünde birleştirilmesidir. Bu özelliği ile de TypeScript bir çok programlama dilinden pozitif anlamda ayrışmaktadır. Aslında bu özelliği ile aynı zamanda JavaScript kökeninden de uzaklaşamamışdır diyebiliriz. Number veri tipini daha detaylı incelemek için örnek bir program yazalım. Yazdığımız kodları TypeScript derleyicisi ile JavaScript kodlarına dönüştürüldüğünde nasıl bir çıktı aldığımızı ve aynı zamanda da bu çıktıyı NodeJS aracılığı ile çalıştırarak nasıl bir çıktı aldığımızı da inceleyelim. Böylece number olarak tanımladığımız değişkenlerin arka tarafta nasıl bir süreçten geçtiğini detaylı incelemiş olacağız. Örnek uygulamamız için kayan noktalı sayı, tam sayı, ikilik, sekizlik ve onaltılık sayı sistemi ile değişken tanımla...

TypeScript 1.3 Sürüm Yenilikleri

TypeScript JavaScript programlama dilindeki nesne yönelimli programlama eksikliğini gidermek için Microsoft tarafından geliştirilmiş bir programlama dilidir. Nesne yönelimli programlamada en önemli kavramlardan bir tanesi de Encapsulation kavramıdır ve TypeScript 1.3 Sürümü ile bu mantık daha da kuvvetlendirilmiştir. TypeScript 1.3 Sürümü ile eklenen protected kavramı diğer progrmalama dilleri C++, C# ve Java'daki benzer mantığa sahiptir ve amaç Encapsulation mantığını kuvvetlendirmektir. Bu bloğun amacı TypeScript üzerine yoğunlaşmak olduğu için protected ve Encapsulation konuları üzerinde fazla durmayacağım. Ama TypeScript programlama dilini çok iyi kullanmak istiyorsanız nesne yönelimli programlamaya da hakim olmanız gerekiyor. protected kullanımı ile ilgili örnekle devam edersek kullanımla ilgili kafanızda altyapı oluşacaktır. Diğer programlama dillerinde protected kavramını etkin kullanıyorsanız zaten konuyu hemen anlayacaksınız. Zaten protected gibi bir nesne yöneli...