Selamat Datang JavaScript 2.0

JavaScript menguasai web dan ECMAScript, inti bahasa berkembang. Spesifikasi baru (ES6 atau JS2), yang diharapkan pada pertengahan tahun ini, membawa banyak inovasi yang sudah dapat dicoba hari ini. Firefox pada masa ini mempunyai sokongan terbaik , tetapi polyfill melalui transpiler yang disebut seperti Google Traceur juga boleh dilakukan. Berikut ini adalah gambaran ringkas mengenai ciri baru ES6.


Kata kunci baru membiarkan jauh lebih baik daripada var : Scoping sekarang berperilaku sama seperti dalam bahasa lain (C / C ++, Java), itulah sebabnya if-block sekarang juga mempunyai skop mereka sendiri. Pengangkatan, iaitu penyataan deklarasi berubah (bukan penugasan nilai) dalam skop masing-masing juga diperbaiki:

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

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

Bilangan inovasi lain panjang: pemalar (const), nilai lalai untuk fungsi (fungsi pow (a, b = 2) {return Math.pow (a, b);}), notasi baru untuk fungsi (let pow = (a, b = 2) => Math.pow (a, b);), banyak fungsi baru (ulangi (), mengandungi (), beginWith (), cari (), findIndex ()), pembinaan gelung baru untuk ... daripada.

Kumpulan data jenis baru, peta, proksi dan simbol, pengimportan (bahagian lain) fail JavaScript dengan import dan sintaks intuitif baru untuk kelas dan pewarisan juga harus disebutkan. Selalunya terdapat juga perkara-perkara kecil tetapi lama ditunggu-tunggu seperti kemungkinan putus garis dalam huruf rentas (perhatikan tanda petikan khas):

`foo

bar`

JavaScript telah lama lebih dari sekadar alat untuk tipu muslihat laman web kecil - ia menghasilkan aplikasi web berprestasi tinggi dan hebat yang sama sekali tidak kalah dengan rakan desktop mereka. Dengan sebilangan besar inovasi bermanfaat dan sokongan yang sudah ada dari ES6, pengaturcaraan dua kali lebih menyeronokkan.

Siapa yang tidak selalu mahu memeriksa persamaan dua nombor dengan bantuan Nombor pemalar baru.EPSILON , yang nilainya menanggung perbezaan antara 1 dan nilai titik terapung yang lebih tinggi seterusnya?

let cmp = (a,b) => Math.abs(a-b) 
Belakang