Typscript, kullanan bir dil grubundan biridir. Javascript Yürütme ortamı olarak çalışma zamanı:. Ticture kodu içeren dosyalar normal JavaScript'e derlenir, bu da tarayıcı tarafından çalıştırılabilir.
Jeremy Ashkenas ilk önce bu konsepti Coffeescript diliyle popüler yaptı, ama ne yazık ki, nispeten terse sözdizimi, C # veya Visual Basic ile tanışan geliştiriciler için öğrenmek zordu.
Microsoft web 2.0 teknolojilerine genişledikçe, Jeremy Ashkenas'dan ilham almayı seçti. Visual Studio'nun yeteneklerinden dolayı, geliştiriciler çeşitli dil uzantılarından elde edilirken basitçe kesebilirler.
Typscript, statik yazma ile sınırlı değildir: Ayrıca, web'deki nesneye yönelik programlama paradigmalarını simüle etmenizi sağlayan çeşitli gelişmiş özelliklerle birlikte gelir. Bu kısa kılavuz sizi bazı kilit özelliklerinden bazılarını alacaktır. Dil size hitap ederse, sinek üzerinde daha fazla bilgi öğrenilebilir.
Tipscript Linux veya MacOS'ta da kullanılabilse bile, Microsoft'un resmi IDE'ye yapışacağız. Visual Studio 2017'deki ücretsiz topluluk baskısını indirin Microsoft, burada ve dağıtım sırasında ASP.NET yükünü işaretlediğinizden emin olun.
Typscript'in hızlı salınım kadansından dolayı, Visual Studio'dan indirilebilecek bir SDK modülüyle genişletilmesi gerekir. Buradaki Microsoft sitesi . Standart bir Windows uygulaması olsaydı yükleyiciyi basitçe çalıştırın.
İlgili bazı ekstra güçlük yoksa Microsoft olmaz: SDK, Visual Studio kurulumunuzu yükseltirken, gerçek TSC derleyicisi komut satırınıza eklenmez. Bu sorun, komut satırındaki NODE.JS'nin NPM Package Manager'ı kullanarak en iyi şekilde çözülür.
PS C: \ Users \ Tamha \ Yüklemeler ve GT; NPM Install -g Typscript
C: \ Users \ Tamha \ AppData \ ROAMING \ NPM \ TSC - & GT; C: \ kullanıcılar \ tamha \ appdata \ roaming \ npm \ node_modules \ thiscript \ bin \ tsc
C: \ Users \ Tamha \ AppData \ ROAMING \ NPM \ TSServer - & GT; C: \ kullanıcılar \ tamha \ appdata \ roaming \ npm \ node_modules \ tinkscript \ bin \ tsserver
C: \ Users \ Tamha \ AppData \ ROAMING \ NPM
Visual Studio, çözüm merkezli bir süreçte çalışmayı bekliyor: İlginçken, bu bizim ihtiyaçlarımız için idealdir. Bunun yerine, işçi adı verilen bir dosya oluşturun ve dosya sisteminizde uygun bir yere yerleştirin. Visual Studio'ya sürükleyerek açın ve üstteki araç çubuğunun içine bırakın. Sonra, aşağıdaki kodu içerecek şekilde içeriğini değiştirin:
İşlev Sayoi () {
uyarısı ("oi!");
}
sayoi ();
Girişte belirtildiği gibi, bir .TS dosyası kendi başına fazla yapamaz. Bunun nedeni, aynı klasörde bulunması gereken index.html adlı bir dosya oluşturmaya devam edin. Sonra, bu adıma eşlik eden iskelet kodunu ekleyin. Derleyicinin çıktısını yükler ve başka bir JavaScript'teki gibi çalışır.
& lt; html & gt;
& lt; head & gt;
& lt; script src = "wunch.js" & gt; & lt; / script;
/ head & gt;
& lt; body & gt; / body & gt;
& lt; / html & gt;
Bir sonraki adım, .TS dosyasının manuel olarak yeniden derlemesini içerir. PowerShell'i açın ve TSC komutunu ve ardından giriş dosyasının adını girin. Varsayılan olarak, çıktı dosyası taban dosya adını paylaşır, ancak .js yerine .js uzantısına sahip olacaktır. Son olarak, Dizin.html dosyasını, mesaj kutusunun görünümünü kanıtlamak için bir seçim tarayıcısında açın.
PS C: \ Users \ Tamha \ Yüklemeler ve GT; TSC. \ İşçi.ts
Şimdiye kadar, Typscript, daha karmaşık bir JavaScript ortamı olarak hareket etmekten biraz daha fazlasını yapmıştır. Bir sonraki adım, statik yazma desteğinin etkinleştirilmesini içerir: Derleyicinin, geçersiz değerleri önler, parametrelerin statik analizini yapmasını sağlar. Bunun için bir dizi türde gereklidir - temel türler yukarıdaki tabloda listelenirken, sınıflar daha sonra tartışılacaktır.
TypeScript Değişken Tip Atamaları, değişken adından sonra 'A:' ile yer alıyor. OI işlevimizi bir numara almak için değiştirelim ve bunun yerine bir dizgeyle geçememize izin verelim. Son olarak, TSC derleyiciyi bir kez daha gözlerinizi - Visual Studio, tesadüfen, görüntülenen ekran görüntüsünde gösterilen hata mesajında bir kez daha çağırır.
İşlev Sayoi (Whattosay: Number) {
Uyarı (whattosay);
}
sayoi ("merhaba");
Javascript, prototipleme yoluyla nesne yönelimini uygular: .NET ve C / C ++ dünyalarında nadiren bir kod tarzıdır. Tynscript, bu sorunu çözerek sınıfların oluşturulmasına izin verir - bu adıma eşlik eden snippet'te gösterilen bir işlem.
Sınıf Imagine {
Kamu MyResult: Number;
Public Mya: Sayı;
Public Myb: Number;
Yapıcı (_A: Number, _B: Number)
{
this.myresult = _a + _b;
this.mya = _a;
}
}
Normalde, kamu özniteliği, bir programın bir öğesinin dıştan erişilebilir olması olduğunu beyan etmek için kullanılır. Bir yapıcı parametresi olarak kullanıldığında, bunun yerine Ticture Derleyicisine, aynı adlarla yerel alanlar oluşturmasını söyler.
Sınıf Imagine {
Kamu MyResult: Number;
// Public Mya: Sayı;
Yapıcı (Public Mya: Number, Public _b: Number)
{
this.myresult = mya + _b;
this.mya = mya;
}
}
Örnek sınıfımızı, MyResult ve Mya'da depolanan değerlere erişen ve bunları ekrana çıkaran bir yöntem sunarak genişletelim. Son olarak, yeni parametre sınıfın bir örneğini oluşturmak için kullanılır - yöntemi çağırmak için kullanılır.
Sınıf Imagine {
Kamu MyResult: Number;
. . .
kamuoyumuz (): void {
Uyarı (this.myresult);
}
}
miyimagin: hayal edin = yeni hayal (2, 2);
myimagine.saysomething ();
Typscript'in dil tasarımı, geliştiricileri mümkün olduğu kadar çaba harcamak için tasarlanmıştır. Bir güzel özellik, gösterilen kısayol kullanılarak oluşturulan parametrelerin otomatik nüfusudur.
Sınıf Imagine {
Kamu MyResult: Number;
Yapıcı (Public Mya: Sayı, Genel MyB: Number)
{
this.myresult = mya + myb;
}
kamuoyumuz (): void {
uyarı (this.mya + "" + this.myb);
}
}
Nesneye yönelik programlamanın çekirdek ilkelerinden biri, sınıfları birbirlerinin üstüne dayandırmayı içerir. Türetilmiş sınıflar daha sonra temel sınıflarının içeriğini geçersiz kılar, esnek bir şekilde ayarlanabilir sınıf hiyerarşilerine yol açabilir.
Sınıf Gelecek Hayal Ediliyor
{
kamuoyumuz (): void {
console.log (this.mya);
}
}
Yukarıdaki kod snippeti, hayal gücü sınıfını, gelecek adı verilen bir alt öğeyle genişletti. Gelecek, düşündüğünüzden farklıdır, daha fazla geliştiğinde, daha fazla geliştiğinde, tarayıcının komut satırına bir mesaj yayar.
Myimaginin: Hayal edin = yeni gelecek (2, 2);
myimagine.saysomething ();
MyFuture: Gelecek = yeni gelecek (9, 9);
myfuture.saysomething ();
Bununla, gerçek kod test edilebilir. Koşulunda, tarayıcı konsolu geleceğin iki çağrısı içerecektir - gelişmiş sınıf, hayalin bir nesne olarak çağrıldığında bile özelliklerini tutar.
Üye değişkenlerini kamuoyarartıcı ile açığa çıkarmak popüler değildir: sonuçta, kullanıcıların değişkenin içeriğiyle yaptıklarının en fazla kontrolünü uzağa götürür. Typescript Accessors, bu sorunu geleneksel OOP'a benzer bir şekilde çalışmanıza izin verir. Salt okunur üyelerin de desteklendiğini unutmayın, ancak bu özelliğin kullanımının ECMAScript5 desteğinin etkinliğini gerektirdiğini unutmayın.
Genel _mycache: Dize;
FullCache (): String {
bunu iade et._mycache;
}
FullCache (Newx: string) ayarla {
Eğer (newx == "merhaba") {
this._mycache = newx;
}
Başka {
konsol.log ("yanlış veri!");
}
}
Karmaşık miras hiyerarşileri yaratma yeteneği, geliştiricileri soyut sınıflarda şanslarını denemek için motive edecektir. Typscript ayrıca bu konuda ele alındınız - bu adıma eşlik eden örnekte, soyut ve gerçek bir üye olan bir sınıf oluşturur. Özet sınıfı doğrudan bir derleyici hatasına yol açar.
Soyut sınıf hayal et {
Kamu MyResult: Number;
Soyut Sayname (): geçersiz;
Yapıcı (Public Mya: Number, Public Myb: Number) {
this.myresult = mya + myb;
}
kamuoyumuz (): void {
uyarı (this.mya + "" + this.myb);
}
}
CLASS GELECEĞİ YAPIYOR {
. . .
halka açık sayname () {
console.log ("merhaba");
}
}
Nesne yapıları daha karmaşık hale geldikçe, geliştiriciler genellikle kendilerini bir sınıfın birden fazla mantık parçası uyguladığı durumları karşılıyorlar. Bu durumda, bir arayüz güzel bir geçici çözüm için yapar - örnek ne bekleneceğini gösterir.
Arabirim Datinterface {
Alan: sayı;
WorkerMethod (): boşluk;
}
Yukarıdaki sınıfın durumunda olduğu gibi, kullanamıyorsak, bir arayüz bize iyi değil. Neyse ki, uygulamak, özellikle zor değildir: Arabirim yazarlarının, yaratılmasının bazı bölümlerini isteğe bağlı olarak bildirebileceğini unutmayın.
Sınıf işçisi, datainterface uygular {
Alan: sayı;
workermethod (): void {
Yeni hatayı atın ("yöntem uygulanmadı.");
}
}
Typscript derleyicisi, sıkı değişken geçerlilik kontrolünü zorlar. Bir depolama sınıfı üzerinde çalışırken, jenerikler son kullanıcının işlenecek türü belirlemesine izin verir. Ayrıca, Tynscript, belgelerden alınan (Tautolojik) snippet'te gösterildiği gibi, işlevler gibi diğer genel elemanlara da izin verir.
// genel fonksiyon
İşlev kimliği (arg: number): number {
döndürme argörü;
}
// genel sınıf
Sınıf GenericNumber & Lt; T & GT; {
Zerovalue: t;
Ekle: (x: t, y: t) = & gt; T; }
Devlet makineleri ve benzeri elemanlar, birkaç iyi tanımlanmış durumu saklamak için bir değişkeni kısıtlamanın bir yoluna sahip olmaktan büyük ölçüde faydalanır. Bu, ENUM veri türü kullanılarak gerçekleştirilebilir:
enum parserstate {
ADLE = 1,
Read0,
Okuma1
}
class imagine {
Kamu Mystate: Parserstate;
Yapıcı (Public Mya: Sayı, Genel MyB: Number)
{
this.mystate = parserstate.idle;
Tek bir makalede Tynscript kadar karmaşık olarak bir dili kaplamak neredeyse imkansızdır. Bak Typscript sitesinin örnekleri Dil bağlamaları hakkında daha fazla bilgi edinmek için.
Bu makale başlangıçta 266 sayılı yayınlandı. Web tasarımcısı , Yaratıcı Web Tasarım Dergisi - uzman eğitimleri, son teknoloji trendler ve ücretsiz kaynaklar sunuyor. Sayı 266 burada satın al veya Burada web tasarımcısına abone olun .
Özel Noel teklifi: Web Tasarımcısı'na abonelikte% 49'a varan tasarruf edin Senin için ya da Noel için bir arkadaş. Sınırlı bir teklif, bu yüzden hızlı bir şekilde hareket et ...
İlgili Makaleler:
(Resim Kredi: Brendan McCaffrey (Clara McCaffrey tarafından orijinal konsept)) Pureref, çok faydalı olan küçük ..
Eğer ustalaştıysan Bir köpek nasıl çizilir , ayrıca bir kurt da kolayca çizebileceğinizi düşünmek için affedilirsiniz. Fido'nun..
Chiaroscuro sanatını yapmak, derinlik ve daha da önemlisi, ruh hali oluşturmak için ışık ve gölge bileşimini kullanmakla ilgilidir. Bu eğitimde, karanlığın sanatsal alemlerine g..
Bu atölye, anlamı olan bir portre yağlı boya oluşturma ile ilgilidir. Aynı zamanda, sanattaki akademik ilkelerin ve güzell..
Çok az tanıtım ihtiyacı var, ancak afinite tasarımcısı Mac / Windows için ve şimdi ayrıca iPad . Bu grafik tasarım aracı daha temel ücretsiz arasın..
Bu çizim öğreticisinde öğreneceksiniz Nasıl çizilir ve boyayın kullanarak bir zombi Klibi stüdyo ..
Bir fantezi yaratığı için bir fikir bulduktan sonra, bir sonraki adım inanılır renk ve dokularla boyayarak hayata geçirme..
Yapıyorum kalem sanat Çocukluğumdan beri, benimle bir kalem ve kağıt taşıyacağım zaman. Ancak boyama ve b..