Sugeng rawuh JavaScript 2.0

JavaScript ndominasi web – lan ECMAScript, inti basa kasebut, lagi diwasa. Spesifikasi anyar (ES6 utawa JS2), sing diarepake bakal dirilis ing pertengahan taun, nggawa akeh inovasi sing wis bisa dites. Firefox saiki nawakake dhukungan paling apik , nanging polyfill liwat transpiler kaya Google Traceur uga bisa ditindakake. Ringkesan singkat babagan fitur anyar ES6 ing ngisor iki.


Tembung kunci anyar nglilani nindakake akeh perkara sing luwih apik tinimbang var : Scoping saiki tumindak persis kaya basa liyane (C / C ++, Java), mula yen-block saiki uga duwe ruang lingkup dhewe-dhewe. Pengangkatan, yaiku nggawa pranyatan variabel (dudu tugas angka) ing ruang lingkup, uga didandani:

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

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

Dhaptar inovasi liyané dawa banget: konstanta (const), nilai standar kanggo fungsi (fungsi pow(a,b=2) { return Math.pow(a,b); }), notasi anyar kanggo fungsi (let pow = (a,b=2) => Math.pow(a,b);), akèh fungsi anyar (repeat(), contains(), startsWith(), find(), findIndex()), konstruksi loop anyar kanggo ... of.

Uga sing penting disebutake yaiku jinis data anyar Set, Map, Proxy, lan Symbol, kemampuan kanggo ngimpor (bagean saka file JavaScript liyane) nggunakake `import`, lan sintaksis anyar sing intuitif kanggo kelas lan pewarisan. Nanging, asring fitur cilik nanging wis suwe ditunggu-tunggu kaya kemampuan kanggo nyakup jeda baris ing literal string (elinga tandha petik khusus).:

`foo

bar`

JavaScript wis suwe ora mung dadi alat kanggo trik situs web cilik - nanging uga digunakake kanggo nggawe aplikasi web sing kuat lan berkinerja tinggi sing apik banget kaya aplikasi desktop. Kanthi akeh fitur anyar sing migunani lan dhukungan sing wis ana kanggo ES6, pemrograman dadi kaping pindho luwih nyenengake.

Sapa sing ora pengin mriksa kesetaraan rong nomer kanthi bantuan Nomer anyar sing tetep. EPSILON , sing regane beda antarane 1 lan nilai titik ngambang sing luwih dhuwur sabanjure?

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