Selamat Datang JavaScript 2.0

JavaScript mendominasi web – dan ECMAScript, teras bahasa tersebut, sedang matang. Spesifikasi baharu (ES6 atau JS2), yang dijangka pada pertengahan tahun, membawa pelbagai inovasi yang sudah boleh diuji. Firefox kini menawarkan sokongan terbaik , tetapi pengisian poli melalui transpiler seperti Google Traceur juga boleh dilakukan. Gambaran keseluruhan ringkas tentang ciri baharu ES6 berikut.


Kata kunci baharu let melakukan banyak perkara lebih baik daripada var : scoping kini berkelakuan sama seperti dalam bahasa lain (C/C++, Java), itulah sebabnya jika blok sekarang juga mempunyai skopnya sendiri. Pengangkatan, iaitu keutamaan pengisytiharan berubah-ubah (bukan penetapan nilai) dalam skop masing-masing, juga akan dibaiki:

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

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

Bilangan inovasi lain adalah besar: pemalar (const), nilai lalai untuk fungsi (fungsi pow(a,b=2) { return Math.pow(a,b); }), notasi baharu untuk fungsi (biar pow = (a,b=2) => Math.pow(a,b);), pelbagai fungsi baharu (reat(), contains(), constructions),...

Juga patut disebut ialah jenis data baharu Set, Peta, Proksi dan Simbol, keupayaan untuk mengimport (sebahagian daripada yang lain) fail JavaScript dengan import dan sintaks intuitif baharu untuk kelas dan warisan. Tetapi selalunya terdapat juga perkara kecil tetapi lama ditunggu-tunggu seperti kemungkinan pemutusan baris dalam literal rentetan (perhatikan tanda petikan khas):

`foo

bar`

JavaScript telah lama menjadi lebih daripada sekadar alat untuk helah kecil laman web – ia digunakan untuk mencipta aplikasi web yang berkuasa dan berprestasi tinggi yang sama baiknya dengan rakan sejawat desktop mereka. Dengan banyak ciri baharu yang berguna dan sokongan sedia ada untuk ES6, pengaturcaraan adalah dua kali ganda 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) < Number.EPSILON;
Belakang