Uyemukelwa iJavaScript 2.0

I-JavaScript ibusa iwebhu – futhi i-ECMAScript, okuyisisekelo solimi, iyavuthwa. Imininingwane entsha (i-ES6 noma i-JS2), elindelwe phakathi nonyaka, iletha izinto eziningi ezintsha ezingase zihlolwe kakade. I-Firefox okwamanje inikeza ukwesekwa okungcono kakhulu , kodwa ama-polyfill ngama-transpilers afana ne -Google Traceur nawo angenzeka. Ukubuka okufushane kwezici ezintsha ze-ES6 kulandela.


Igama elingukhiye elisha livumela ukuthi lenze izinto eziningi kangcono kune- var : ukuhlola manje sekufana ncamashi nezinye izilimi (C/C++, Java), yingakho uma amabhulokhi manje esenobubanzi bawo. Ukuphakamisa, okungukuthi ukubeka phambili izimemezelo eziguquguqukayo (hhayi izabelo zenani) ngaphakathi kobubanzi abafanele, nakho kuzolungiswa:

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

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

Inani lezinye izinto ezintsha likhulu: ama-constants (const), amanani azenzakalelayo emisebenzi (i-function pow(a,b=2) {buyisela i-Math.pow(a,b); }), inothi entsha yemisebenzi (let pow = (a,b=2) => Math.pow(a,b);), imisebenzi emisha ehlukahlukene (repeat(a,b=2) { return Math.pow(a,b) kwe.

Okunye okufanele kukhulunywe ngakho yizinhlobo zedatha entsha ethi Isethi, Imephu, Ummeleli kanye Nophawu, ikhono lokungenisa (izingxenye zamanye) amafayela e-JavaScript anokungenisa kanye ne-syntax entsha enembile yamakilasi nefa. Kodwa ngokuvamile kuphinde kube nezinto ezincane kodwa osekunesikhathi zilindelwe njengokungenzeka kokugqashuka komugqa kuyunithi yezinhlamvu (qaphela izimpawu zokucaphuna ezikhethekile):

`foo

bar`

I-JavaScript ibilokhu ingaphezu nje kwethuluzi lamaqhinga amancane ewebhusayithi - isetshenziselwa ukudala izinhlelo zokusebenza zewebhu ezinamandla nezisebenza kahle kakhulu njengezinye zedeskithophu. Njengoba kunenqwaba yezici ezintsha eziwusizo kanye nokusekelwa okukhona kwe-ES6, ukuhlela kujabulisa kabili.

Ngubani ongafuni njalo ukuhlola ukulingana kwezinombolo ezimbili ngosizo lweNombolo entsha engapheli.EPSILON, inani lalo eliveza umehluko phakathi kuka-1 nenani lephuzu lokuntanta eliphakeme elilandelayo elilandelayo?

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