TypeScript

TypeScript, verilerin üzerine etiket konmuş JavaScript'tir; böylece hatalar yayına çıktıktan sonra değil, kod daha yazılırken yakalanır.

Şu adla da bilinir TS tipli JavaScript TypeScript dili

Tanım

TypeScript, verilerin üzerine etiket yapıştırılmış JavaScript'tir; aynı kodu yazarsınız, ama her şeyin ne olduğunu da söylersiniz. Fiyat bir sayıdır, müşterinin bir e-posta adresi vardır, rezervasyonun bir tarihi vardır ve editör siz yazarken her satırı bu etiketlere göre denetler. Biri fiyatı bir isme eklemeye kalkarsa, hata kod dizüstünden çıkmadan kırmızıyla altı çizilir.

JavaScript'in rakibi değil, üstüne konan bir katmandır. Kod çalışmadan önce TypeScript etiketleri kaldırır ve sıradan JavaScript üretir; tarayıcının ya da sunucunun gerçekten çalıştırdığı şey odur. Bu yüzden ziyaretçinin telefonuna fazladan hiçbir şey kurulmaz ve biten ürün bir gram yavaş değildir. Bedel bunun yerine daha erken ödenir, yani yazma süresinde ve her yayından önce çalışan bir derleme adımında. Dil 2012'den beri var ve bu süre, büyük JavaScript projelerinin bugün genelde böyle yazılmasına yetecek kadar uzun.

Şimdi çok kişinin yanlış bildiği kısım. Bu denetimler kod çalışmadan önce yapılır ve sonra ortadan kalkar. Yani bir form gönderildiğinde ya da başka bir şirketin sistemi size sipariş yolladığında TypeScript artık kapıda durmaz. Ne geliyorsa gelir, çünkü bir alana sayı demek onu sayı yapmaz. Gelen veriyi sunucunun kendisi denetlemek zorundadır ve Linkysoft bu yüzden konuyu dil tercihi değil, siber güvenlik incelemesinin bir parçası sayar. Sistem çalışırken etiketlerin kendilerini hâlâ koruduğunu sanan ekipler de yakayı ele verenler oluyor.

Değer mi? Bu, boyuta ve ömre bağlı; tek formlu tek sayfa için getirisi az, işi fazladır. Elli ekranlı, birkaç geliştiricili ve önünde yıllar olan bir sistemde ise bir alanı on saniyede yeniden adlandırmakla bütün projeyi elle taramak arasındaki farktır. En çok da bir site ile mobil uygulaması aynı kodu paylaştığında işe yarar. Linkysoft bu yüzden uzun ömürlü web uygulamalarını TypeScript ile yazar ve başlamadan önce tek bir soru sorar. İki yıl sonra bunun üzerinde kim çalışıyor olacak? Dürüst cevap henüz tanışmadığımız biriyse, etiketler harcadıkları her saati hak eder.

TypeScript hakkında sorular

TypeScript, JavaScript'ten farklı bir dil mi?
Tam olarak değil. JavaScript'te çalışan her şey TypeScript'te de çalışır; TypeScript yalnızca etiketleri ekler. Çalışmadan önce yeniden sıradan JavaScript'e döner.
TypeScript sitemi hızlandırır mı?
Hayır. Hız tamamen aynıdır, çünkü etiketler kod çalışmadan önce kaldırılır. Kazandırdığı şey milisaniye değil, geliştirici zamanı ve daha az hata.
TypeScript sistemimi saldırılardan korur mu?
Hayır. Kod yazılırken yapılan dikkatsizlikleri yakalar. Bir yabancının sonradan sunucunuza göndereceği şeye karşı bir şey yapmaz; o denetimin ayrıca yazılması gerekir.
Küçük bir projede TypeScript'e değer mi?
Çoğu zaman değmez. Tek formlu bir sayfada çoğunlukla fazladan iştir. Koda birden fazla kişi dokunmaya başladığında ya da sistem yıllarca yaşayacaksa kazandırmaya başlar.
Mevcut bir JavaScript projesi TypeScript'e geçebilir mi?
Evet, dosya dosya. İkisi aynı projede yan yana yaşar; ekip genellikle önce en sık bozulan bölümleri etiketler, gerisine dokunmaz.

Bunun projenize nasıl uyduğundan hâlâ emin değil misiniz?

Ne inşa ettiğinizi bize anlatın, size sade bir dille yanıt verelim.