Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
C#, TypeScript ve JavaScript'in tümü C dil ailesinin üyeleridir. Diller arasındaki benzerlikler, C# dilinde hızla üretken olmanıza yardımcı olur.
-
Benzer söz dizimi: JavaScript, TypeScript ve C# C dil ailesindedir. Bu benzerlik, C# okuyabileceğiniz ve anlayabileceğiniz anlamına gelir. Bazı farklılıklar vardır, ancak söz diziminin çoğu JavaScript ve C ile aynıdır. Küme ayraçları ve noktalı virgüller tanıdıktır.
if,elseveswitchgibi kontrol ifadeleri aynıdır.for,whilevedo...whiledöngü deyimleri aynıdır.classveinterfaceiçin aynı anahtar sözcükler hem C# hem de TypeScript'te bulunur.public'denprivate'a kadar TypeScript ve C# dilindeki erişim değiştiricileri aynıdır. -
=>belirteci: Tüm diller basit işlev tanımlarını destekler. C# dilindelambda ifadeleri olarak adlandırılırlar. JavaScript'te genellikle ok işlevleri olarak adlandırılırlar. - İşlev hiyerarşileri: Üç dil de diğer işlevlerde tanımlanan işlevler olanyerel işlevleri destekler.
-
Asenkron / Await: Üç dil de asenkron programlama için aynı
asyncveawaitanahtar sözcükleri paylaşır. - Çöp toplama: Her üç dil de otomatik bellek yönetimi için bir çöp toplayıcıyı temel alır.
-
Olay modeli: C#'nin
eventsöz dizimi, Belge nesne modeli (DOM) olayları için JavaScript modeline benzer. - Paket yöneticisi: NuGet, JavaScript uygulamaları için npm'ye benzer şekilde C# ve .NET için en yaygın paket yöneticisidir. C# kitaplıkları derlemelerinde teslim edilir.
C# dilini öğrenirken JavaScript'in parçası olmayan kavramları da öğrenirsiniz. TypeScript kullanıyorsanız bu kavramlardan bazıları size tanıdık gelebilir:
-
C# Türü Sistem: C# kesin olarak yazılan bir dildir. Her değişkenin bir türü vardır ve bu tür değiştirilemez.
classveyastructtürleri tanımlarsınız. Diğer türler tarafından uygulanan davranışı tanımlayaninterfacetanımları tanımlayabilirsiniz. TypeScript bu kavramların çoğunu içerir, ancak TypeScript JavaScript üzerinde oluşturulduğundan tür sistemi o kadar katı değildir. -
Desen eşleştirme: Desen eşleştirme, karmaşık veri yapılarının şekline göre kısa koşullu deyimleri ve ifadeleri etkinleştirir.
isifadesi değişkenin bir desen olup olmadığını denetler. Desen tabanlıswitchifadesi, bir değişkeni incelemek ve özelliklerine göre kararlar almak için zengin bir söz dizimi sağlar. - Dize ilişkilendirme ve ham dize değişmez değerleri: Dize ilişkilendirmesi, konumsal tanımlayıcıları kullanmak yerine bir dizeye değerlendirilen ifadeler eklemenize olanak tanır. Ham dize değişmez değerleri, metindeki kaçış dizilerini en aza indirmek için bir yol sağlar.
-
Null değer alabilen ve alamayan türler: C# ,null değer alabilen türleri destekler ve son ekini bir türe ekleyerek
?. Null atanabilir türler için,nullkontrolü yapmadan ifadenin doğrudan erişimini gerçekleştirirseniz derleyici sizi uyarır. Nullable olmayan türler için, o değişkene birnulldeğeri atamış olabileceğiniz durumlarda derleyici sizi uyarır. Uygulamanızın System.NullReferenceExceptionhatası vermesini en aza indirebilir. Bu söz dizimi, TypeScript'in isteğe bağlı özellikler için?kullanımıyla tanıdık gelebilir. - LINQ: Dil tümleşik sorgusu (LINQ), depolama alanına bakılmaksızın verileri sorgulamak ve dönüştürmek için ortak bir söz dizimi sağlar.
Daha fazla bilgi edindikçe diğer farklar belirginleşir, ancak bu farklılıkların çoğu kapsam olarak daha küçüktür.
JavaScript ve TypeScript'ten bazı tanıdık özellikler ve deyimler C# dilinde kullanılamaz:
-
dinamik türler: C# statik yazma kullanır. Bir değişken bildirimi türü içerir ve bu tür değiştirilemez. C# dilinde çalışma zamanı bağlaması sağlayan bir
dynamictürü vardır. -
Prototip devralma: C# devralma türü bildiriminin bir parçasıdır. C#
classbildirimi herhangi bir temel sınıfı belirtir. JavaScript'te__proto__özelliğini herhangi bir örnekte temel türü ayarlamak için ayarlayabilirsiniz. - Yorumlanan dil: C# kodu çalıştırılmadan önce derlenmelidir. JavaScript kodu doğrudan tarayıcıda çalıştırılabilir.
Buna ek olarak, C# dilinde birkaç TypeScript özelliği daha kullanılamaz:
- Birleşim türleri: C# birleşim türlerini desteklemez. Ancak tasarım teklifleri devam etmektedir.
-
Dekoratörler: C# dilinde dekoratör yok.
@sealedgibi bazı yaygın dekoratörler C# dilinde ayrılmış anahtar sözcüklerdir. Diğer yaygın dekoratörlerin ile ilgiliöznitelikleri olabilir. Diğer dekoratörler için kendi özniteliklerinizi oluşturabilirsiniz. - Daha bağışlayıcı söz dizimi: C# derleyicisi kodu JavaScript'in gerektirdiğinden daha katı bir şekilde ayrıştırıyor.
Web uygulaması oluşturuyorsanız, uygulamanızı oluşturmak için Blazor kullanmayı düşünmelisiniz. Blazor, .NET ve C# için oluşturulmuş bir tam yığın web çerçevesidir. Blazor bileşenleri sunucuda, .NET derlemeleri olarak veya WebAssembly kullanarak istemcide çalıştırılabilir. Blazor, sık kullandığınız JavaScript veya TypeScript kitaplıklarıyla birlikte çalışmanızı destekler.