Hoş Geldiniz JavaScript 2.0

JavaScript web'e hakim durumda ve dilin çekirdeği olan ECMAScript olgunlaşıyor. Yıl ortasında çıkması beklenen yeni spesifikasyon (ES6 veya JS2), halihazırda test edilebilen çok sayıda yenilik getiriyor. Firefox şu anda en iyi desteği sunuyor, ancak Google Traceur gibi derleyiciler aracılığıyla polyfill'ler de mümkün. ES6'nın yeni özelliklerine kısa bir genel bakış aşağıda yer almaktadır.


Yeni anahtar kelime let çok daha iyi var daha yapar: Kapsam Belirleme şimdi tam olarak diğer dillere (C / C ++, Java), gibi davranır neden blokları if-şimdi de kendi kapsamı var. Kaldırma, yani ilgili kapsam dahilinde değişken bildirimlerin (değer atamalarının değil) getirilmesi de onarılır.:

console.log(x);
var x = 'foo'; 
// undefined

console.log(y);
let y = 'bar';
// not initialized

Diğer yeniliklerin listesi uzundur: sabitler (const), fonksiyonlar için varsayılan değerler (function pow(a,b=2) { return Math.pow(a,b); }), fonksiyonlar için yeni bir gösterim (let pow = (a,b=2) => Math.pow(a,b);), çok sayıda yeni fonksiyon (repeat(), contains(), startsWith(), find(), findIndex()), yeni döngü yapısı vb.

Ayrıca, Set, Map, Proxy ve Symbol gibi yeni veri tipleri, `import` kullanarak (diğer) JavaScript dosyalarının bölümlerini içe aktarma yeteneği ve sınıflar ve kalıtım için yeni, sezgisel bir sözdizimi de belirtmeye değer. Ancak çoğu zaman, dize değişmezlerine satır sonu ekleme yeteneği gibi küçük ama uzun zamandır beklenen özellikler (özel tırnak işaretlerine dikkat edin) daha çok ilgi çekiyor.:

`foo

bar`

JavaScript, uzun zamandır sadece küçük web sitesi hileleri için kullanılan bir araç olmaktan çok daha fazlası; masaüstü muadilleri kadar iyi, güçlü ve yüksek performanslı web uygulamaları oluşturmak için kullanılıyor. Çok sayıda faydalı yeni özellik ve mevcut ES6 desteğiyle programlama iki kat daha keyifli hale geliyor.

Kim her zaman değeri 1 ile bir sonraki daha yüksek kayan nokta arasındaki fark olan yeni sabit Number.EPSILON'un yardımıyla iki sayının eşitliğini kontrol etmek istemedi?

let cmp = (a,b) => Math.abs(a-b) < Number.EPSILON;
Geri