Web’in yeni ÅŸekillenmeye baÅŸladığı 90’lı yılların başında etkileÅŸimli web sayfalarına talep vardı. Ä°nsanlar statik verileri göstermekten fazlasını yapan web siteleri istiyordu. JavaScript bu arzudan doÄŸdu.
JavaScript başlangıçta Mocha olarak biliniyordu . Daha sonra LiveScript olarak yeniden adlandırıldı ve sonunda JavaScript oldu . Biraz kafa karıştırıcı, biliyorum 😄
Mocha => Livescript => Javascript
JavaScript, 1995 yılında Netscape Communications’ta çalışırken Brendan Eich adlı bir geliÅŸtirici tarafından oluÅŸturuldu .
JavaScript, web geliştirme için kullanılan ilk dil olmasa da, kullanım kolaylığı ve web geliştiricilerinin web sitelerine animasyonlar, etkileşimli formlar ve dinamik içerik gibi özellikler eklemesine olanak sağlaması nedeniyle hızla popülerlik kazandı.
Takip eden yıllarda JavaScript, yeni özellikler ekleyerek, hataları düzelterek ve dili daha güçlü hale getirerek gelişmeye ve gelişmeye devam etti.
Günümüze hızlı bir ÅŸekilde ilerlersek, JavaScript’in etkisi web geliÅŸtirmenin çok ötesine uzanıyor. Çok yönlülüğü mobil uygulamalara, sunucu tarafı uygulamalara ve hatta masaüstü yazılımlara kadar uzanır.
TypeScript, JavaScript’in modernleÅŸtirilmiÅŸ bir sürümüdür . Statik yazmayı ve daha fazlasını içerir. Bu, JavaScript’in tamamen yeniden yazılması deÄŸildi; basitçe kendi temelleri üzerine inÅŸa edildi ve geliÅŸtiricilere daha yapılandırılmış bir geliÅŸtirme süreci seçeneÄŸi sundu.
TypeScript’in tarihi, 2012 yılında Microsoft’un onu geliÅŸtirmede öncülük etmesiyle baÅŸladı. TypeScript, JavaScript’e statik yazma özelliÄŸi ekleyerek kodun sürdürülebilirliÄŸini ve ölçeklenebilirliÄŸini geliÅŸtirmenin yanı sıra geliÅŸtirici üretkenliÄŸini de artırmak için tasarlandı. O zamandan bu yana, özellikle statik yazmanın avantajlarının en iyi olduÄŸu büyük projelerde büyük ilgi gördü.
Bugün TypeScript, web geliştirme teknolojilerinin ne kadar sürekli geliştiğinin ve uyum sağladığının bir örneği olarak duruyor.
TypeScript’i neden kullanmalıyım?
Hataların Erken Yakalanmasına Yardımcı Olur: TypeScript, kodunuzu çalıştırmadan önce hatalara karşı kontrol eder. Bu, inşaata başlamadan önce bir yapı mühendisinin planınızı kusurlara karşı kontrol etmesi gibidir.
Koda Yapı Ekler: TypeScript ile farklı veri türlerini (örneğin sayı, dize veya özel tür) tanımlayabilir ve bu veri türlerinin nasıl kullanıldığını kontrol edebilirsiniz. Bu, kodunuzu daha yapılandırılmış ve okunabilir hale getirmenize yardımcı olur.
İşbirliğini Geliştirir: Birden fazla kişi bir proje üzerinde birlikte çalıştığında, TypeScript okunabilirliği ve tutarlılığı arttırdığı için onların birbirlerinin kodunu daha iyi anlamalarına yardımcı olur.
Üretkenliği Artırır: TypeScript, kodlama süresini azaltabilen ve hataları en aza indirebilen otomatik kod tamamlama ve gelişmiş araç desteği gibi yerleşik özelliklere sahiptir.
Sürdürülebilirlik: Projelerinizin boyutu arttıkça hepsini yönetmek zorlaşır. TypeScript tam da burada devreye giriyor. Arayüzler ve tür kontrolü gibi özellikler sunarak kodunuzun güncellenmesini ve zaman içinde güncellenmesini kolaylaştırır.
Kod OkunabilirliÄŸini ve Bakımını Artırır: TypeScript’in saÄŸlam yazımına ek olarak, kodun okunmasını ve anlaşılmasını kolaylaÅŸtıran arayüzler ve tür açıklamaları gibi özelliklere de sahiptir. Birisi kodunuzu okurken, her deÄŸiÅŸkenin veya iÅŸlevin döndürdüğü ve beklediÄŸi veri türlerini kolayca görebilecek. Bu, zaman içinde kod tabanınızın bakımını ve anlaşılmasını kolaylaÅŸtırır; bu da mevcut kodu deÄŸiÅŸtirirken hata yapma veya kasıtsız deÄŸiÅŸiklikler yapma riskini azaltır.
TypeScript’teki Türler
Number:
Bu tür 1, 2 ve 3 gibi tam sayıları temsil etmek için kullanılır. Hem tam sayıları (kayan noktalı sayılar) hem de ondalık noktalı sayıları içerir.
let myNumber: number = 5;
String:
Bu tür, “hello” veya “TypeScript” gibi metni veya metin dizelerini temsil etmek için kullanılır.
let myString: string = "hello";
Boolean:
Bu tür, doğru veya yanlış olabilen mantıksal değerleri temsil etmek için kullanılır.
let isDone: boolean = false;
Array:
Alan aynı türdeki verilerin koleksiyonudur. Sayılardan oluşan bir alanınız, dizelerden oluşan bir alanınız veya başka türden bir alanınız olabilir.
let myArray: number[] = [1, 2, 3, 4, 5];
Tuple: Tuple, belirli sayıda öğenin türde olduğu bilinen ancak aynı olması gerekmeyen bir diziyi temsil eden bir ifadedir.
let myTuple: [string, number] = ["hello", 10];
Herhangi:
Herhangi bir tür, herhangi bir değer türünü temsil eden soyut bir türdür. Değer türü bilinmediğinde veya türü olmayan JavaScript koduyla uğraşırken yaygın olarak kullanılır.
let myVariable: any = "hello";
Void:
void türü, bir türün yokluğunu temsil eder. Genellikle değer döndürmeyen işlevler için dönüş değeri türü olarak kullanılır.
function sayHello(): void { console.log("Hello!"); }
Object:
Nesne türü herhangi bir ilkel türün temsilidir. Bu, bir dizi, bir işlev, hatta NULL veya tanımsız olabileceği anlamına gelir.
let myObject: object = { name: "John", age: 30 };
Basit bir toplam örneğiyle anlayalım,
Öncelikle toplam fonksiyonumuzu tanımlayalım. TypeScript’te, tür güvenliÄŸini garanti altına almak ve kodun okunabilirliÄŸini geliÅŸtirmek için iÅŸlev bağımsız deÄŸiÅŸkenlerinin türünü ve dönüş deÄŸerlerini belirtebilirsiniz.
Bunu nasıl yapabileceğimize bakalım:
Yukarıdaki kod parçacığında, a ve b olmak üzere iki argüman alan toplam adında bir fonksiyon tanımladık. Bu argümanların her ikisi de sayı türleridir. Parametre listesinden sonra gelen: sayı, bu fonksiyonun bir sayı deÄŸeri döndürdüğünü belirtir. Bu fonksiyonun içinde sadece a ve b’yi toplayıp döndürüyoruz.
Artık toplam fonksiyonumuzu tanımladığımıza göre, onu çalışırken görelim.
Yukarıdaki örnekte toplam fonksiyonunu 5 ve 3 argümanla çağırdık. Bağımsız deÄŸiÅŸkenlerin türü TypeScript’teki iÅŸlev imzasından çıkarılır, dolayısıyla bunları açıkça belirtmemize gerek yoktur.
Fonksiyon bu iki sayının toplamının sonucunu döndürür ve bunu konsolumuza kaydederiz.
Özetle
Özetlemek gerekirse TypeScript, JavaScript’in dinamik doÄŸası ile yapılandırılmış, hataya dayanıklı kod gereksinimi arasındaki boÅŸluÄŸu doldurur. JavaScript’in Mocha olarak ilk günlerinden ÅŸu anki her yerde bulunmasına kadar TypeScript, geliÅŸtiricileri daha üretken, kod bakımı yapılabilir ve iÅŸbirlikçi hale getirdi. TypeScript, statik yazma ve geliÅŸmiÅŸ araçlar sunarak geliÅŸtiricilerin tüm platformlarda daha saÄŸlam uygulamalar oluÅŸturmasına olanak tanır ve bu da onu web geliÅŸtirmede ezber bozan bir hale getirir.