Typescript'e basit bir giriş

TypeScript'in bazı kavramlarına kısa bir giriş

TypeScript derleyicisi

TypeScript derleyicisi, TypeScript kodunu düz JavaScript koduna dönüştüren bir JavaScript programıdır. TypeScript ile yazılmıştır ve JavaScript'i destekleyen herhangi bir platformda çalıştırılabilir. TypeScript derleyicisi açık kaynaktır ve GitHub'da mevcuttur. Derleyici Microsoft tarafından geliştirilir ve korunur ve komut satırından kullanılabilir veya Visual Studio ve WebStorm gibi popüler IDE'ler için bir eklenti olarak kullanılabilir.

TypeScript derleyicisi, Node.js, Internet Explorer ve Chrome gibi farklı JavaScript çalışma zamanlarıyla uyumlu JavaScript kodu yayabilir. Ayrıca, oluşturulan JavaScript kodunu TypeScript koduna geri eşleyen kaynak haritaları oluşturabilir. Bu, tarayıcıda TypeScript kodunda hata ayıklamaya izin verir.

Derleyici, tür hatalarını kontrol edecek şekilde yapılandırılabilir ve varsa hataları bildirir. Tip kontrolü istenirse devre dışı bırakılabilir. TypeScript derleyicisi, Apache 2.0 açık kaynak lisansı altında mevcuttur.

Güçlü yazılmış bir dil değil

TypeScript, kesin olarak yazılmış bir dil değildir, çünkü değişkenlerin belirli bir türle bildirilmesini gerektirmez. Bu, bir değişkenin bir tür olarak bildirilebileceği ve ardından başka bir türün değerine yeniden atanabileceği anlamına gelir. Değişken, bildirildiği türle uyumlu olmayan bir şekilde kullanılırsa bu hatalara yol açabilir.

Bu özelliği göstermek için temel bir örnek "any" tipiyle gösterilebilir.

// We initialze the variable as a string.
const something: any = "Tom";

// Now it's a number. This is valid TypeScript code.
something = 42;

TypeScript'i JavaScript'e Derlemek

TypeScript derleyicisi TypeScript kodunu alır ve onu düz JavaScript koduna dönüştürür. Bu süreç transpilasyon olarak bilinir. Derleyici önce, sözdizimi hatalarını kontrol eden TypeScript kodunu ayrıştırır. Herhangi bir hata bulunmazsa, derleyici tür hatalarını kontrol eder. Herhangi bir tür hatası bulunursa, derleyici bunları bildirir ve çıkar.

Herhangi bir tür hatası bulunmazsa, derleyici devam edecek ve JavaScript kodunu yayacaktır. Yayılan JavaScript kodu, belirtilen hedef JavaScript çalışma zamanı ile uyumlu olacaktır.

TypeScript derleyicisi, oluşturulan JavaScript kodunu TypeScript koduna geri eşleyen kaynak haritaları da oluşturabilir. Bu, tarayıcıda TypeScript kodunda hata ayıklamaya izin verir.

TypeScript dil sunucusu

TypeScript dil sunucusu, TypeScript projeleri için kod tamamlama, tanımlamaya gitme ve tür denetimi gibi özellikler sağlayan bir dil sunucusudur.

TypeScript derleyicisinin bu özellikleri sağlayabilmesi için dil sunucusu gereklidir. Dil sunucusu olmadan, TypeScript derleyicisi yalnızca sözdizimi vurgulama ve kod biçimlendirme gibi temel özellikleri sağlayabilirdi. TypeScript dil sunucusu açık kaynaklıdır ve GitHub'da mevcuttur.

TypeScript projesi oluşturma adımları

Adımları açıklamadan önce, terminalinizde bir TypeScript projesini başlatma komutu burada.

npx tsc --init

Açıklama: TypeScript derleyicisini yükleyin. Projenin kökünde bir tsconfig.json dosyası oluşturun. Bu dosya, TypeScript derleyicisi için derleyici seçeneklerini içerir. src dizinini tsconfig.json dosyasına ekleyin. TypeScript kaynak dosyalarının bulunacağı yer burasıdır.

src dizinine bir main.ts dosyası ekleyin. Bu, TypeScript programının giriş noktasıdır. Komut satırından tsc çalıştırarak TypeScript kodunu derleyin. Bu, src dizinindeki JavaScript dosyalarını oluşturacaktır. Komut satırından node main.js'yi çalıştırarak TypeScript programını çalıştırın.

TypeScript ve JavaScript arasındaki farklar

TypeScript ve diğer kesin olarak yazılan diller arasında birkaç temel fark vardır: TypeScript, JavaScript'in bir üst kümesidir; bu, geçerli herhangi bir JavaScript kodunun aynı zamanda geçerli TypeScript kodu olduğu anlamına gelir. Bu, mevcut JavaScript projeleri için benimsenmeyi kolaylaştırır.

TypeScript, isteğe bağlı bir tür sistemi kullanır; bu, değişkenler için türlerin belirlenebileceği, ancak gerekli olmadığı anlamına gelir. Swift ve Kotlin gibi kesin olarak yazılan diğer diller, tüm değişkenlerin belirli bir türle bildirilmesini gerektiren zorunlu bir tür sistemi kullanır.

TypeScript, tür açısından güvenli koleksiyonlara ve diğer veri yapılarına izin veren jenerikleri destekler. Bu JavaScript'te mevcut değildir.

Kodlama için ne zaman TypeScript yerine Javascript kullanmalıyım?

JavaScript veya TypeScript'in ne zaman kullanılacağına dair kesin bir kural yoktur. İş için doğru aracı seçmek geliştiriciye kalmıştır. Ancak, izlenebilecek birkaç genel yönerge vardır.

Bir proje zaten JavaScript'te yazılmışsa, JavaScript'i kullanmaya devam etmek genellikle en iyisidir. Sadece TypeScript kullanmak için kodu TypeScript'e dönüştürmeye gerek yoktur. Ancak, bir JavaScript projesinin sürdürülmesinin, gizli hatalara yol açan bir tür sisteminin olmaması nedeniyle daha zor olabileceğini unutmayın. Bu nedenle, proje gelecekte sürdürülecekse (ve genişletilecekse) TypeScript'i benimsemeyi düşünmek en iyisidir.

Bir proje sıfırdan başlıyorsa, genellikle TypeScript kullanmak en iyisidir. Bu, uzun vadede daha iyi kod organizasyonu ve bakımına izin verecektir.

Basit örnekler

// TypeScript.
class Person {
  name: string;
  age: number;
}

const person: Person = new Person();
const person.name = "Tom";
const person.age = 42;

// JavaScript.
var Person = function() {};
Person.prototype.name = "";
Person.prototype.age = 0;

// TypeScript.
// Here's we're also using the class, but this
// time conforming to an interface, something that
// doesn't exist in JavaScript.
interface IPerson {
  name: string;
  age: number;
}

class Person implements IPerson {
  name: string;
  age: number;
}

// JavaScript.
var IPerson = function() {};
IPerson.prototype.name = "";
IPerson.prototype.age = 0;

var Person = function() {};
Person.prototype = Object.create(IPerson);

Kapanış sözleri

TypeScript, kodunuzun kalitesini artırmaya yardımcı olabilecek güçlü bir dildir. Başlamak kolaydır ve JavaScript'i destekleyen herhangi bir platformda kullanılabilir. Dil şimdi öğrenilecek çok daha fazla özellik ve kavram sağladığından, bu makale yalnızca çok kısa bir giriş yaptı.

Bazı faydalı öğrenme materyalleri için sayfanın sonundaki ekteki bağlantıları kontrol edin.