Ana içeriğe atla

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önelimli metodolojisinin kullanımı alışkanlık ve doğru nesne yönelimli uygulama mantığı ile oluşur.
class Thing {
    protected doSomething() { /* ... */ }
}

class MyThing extends Thing {
    public myMethod() {
        // OK, can access protected member from subclass
        this.doSomething();
    }
}
var t = new MyThing();
t.doSomething(); // Error, cannot call protected member from outside class


TypeScript 1.3 Sürümü ile gelen diğer bir özellik ise Tuple kavramıdır. Bu özellik ile tanımlanan bir dizinin elemanları farklı türlerde olabilir. Mantık olarak TypeScript'in kesin nesne türlerine aykırı olsa da bu özellik farklı problemlerin çözümünde etkili olabilir. Özellikle nosql veritabanı kullanımlarında çok etkin kullanılmaktadır. Buna rağmen typle dizi içindeki elemanların da hangi türde olacağını belirler. Konunun daha iyi anlaşılması için bir örnekle devam edecek olursak:

// Declare a tuple type
var x: [string, number];
// Initialize it
x = ['hello', 10]; // OK
// Initialize it incorrectly
x = [10, 'hello']; // Error

TypeScript 1.4 Sürümü ile Tuple konusu ile ilgili geliştirmeler yapılmış ve bir çok eksik giderilmiştir. Bu makalede detaylar anlatıldığı için burada konunun fazla detayına girmeyeceğim. Blog içinde de Tuple konusunun anlatıldığı makaleler bulunmakta. Konuyu merak ediyorsanız bu makalelere de göz atmanızı tavsiye ederim.

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 Nedir?

Konuya ufak bir örnekle başlayacağım... C# programlama dilinde programlama yapıyorsanız yazdığınız kodların CLR aracılığıyla makine diline veya Java dilinde JVM aracılığıyla makine koduna dönüştürüldüğünü ve böyle çalıştırıldığını biliyorsunuzdur. Hemen hemen tüm browserlar (tarayıcılar) programlama dili olarak sadece JavaScript çalıştırabilecek ve bu dili anlayabilecek kapasitededir. Yani bir anlamda JavaScript web dünyasının makine kodudur diyebiliriz. Typescript kodları da derlenerek JavaScript kodlarında dönüştürülür ve web projelerinde bu kodlar çalıştırılır. Yani tarayıcılar Typescript kodunu anlamadığı için JavaScript'e dönüştürülmüş kodları çalıştırabilirler. (Geleceğin teknolojilerinden bir tanesi de Typescript programlama dilini anlayabilen derleyiciler olabilir) JavaScript altyapı olarak nesne yönelimli bir dil olsa da günümüzde nesne yönelimli programlama farklı bir seviyeye gelmiş durumda ve bu açıdan JavaScript ile nesne yönelimli kalıpları uygulamak çok zor...

TypeScript Nerelerde Kullanılır?

Bir programlama dili olarak TypeScript JavaScriptle programlama yapılan tüm projelerde kullanılabilir. TypeScript bir anlamda nesne yönelimli JavaScript anlamında geldiği için çoğu yeni teknoloji de bu programlama dilinin üzerine inşa edilmiştir. Bunlarda en bilineni Angular teknolojisidir. Hatta TypeScript programlama dili Angular teknolojisinin de yaygınlaşması ve kullanımı ile birlikte tamamen bu teknoloji ile özdeşleşmiştir. Buna rağmen siz nodejs ile yazdığınız bir sunucu uygulamasında da TypeScript kullanabilirsiniz ve bu tamamen size kalmış durumda. TypeScript temel olarak .ts uzantılı dosyalarda çalışıyor. Yani siz ts uzantılı dosyalara kodlarınızı yazıyorsunuz. Bu süreçten sonra ister kullandığınız IDE, ister konsol ekranından .Net framework de ki gibi derleniyor ve javascript diline dönüştürülüp yorumlanıyor. Örneğin .Net frameworkü için derleme sonucu makine kodu iken, TypeScript için bu işlem JavaScript kodlarıdır. Yani siz TypeScript’e göre program yazarken sunuc...