Wamkelekile iJavaScript 2.0

IJavaScript ilawula iwebhu – kwaye i-ECMAScript, eyona nto iphambili kulwimi, iyavuthwa. Inkcazelo entsha (ES6 okanye JS2), elindelweyo phakathi konyaka, izisa izinto ezintsha ezininzi ezinokuvavanywa. IFirefox okwangoku inikezela ngenkxaso engcono kakhulu , kodwa ii-polyfills ngee-transpilers ezifana neGoogle Traceur nazo zinokwenzeka. Isishwankathelo esifutshane seempawu ezintsha ze-ES6 siyalandela.


Igama elitsha elingundoqo lenze izinto ezininzi ngcono kune- var : i-scoping ngoku iziphatha kanye njengezinye iilwimi (C / C ++, Java), yiyo loo nto ukuba iibhloko ngoku zinobubanzi bazo. Ukuphakamisa, o.k.t. ukubeka phambili izibhengezo eziguquguqukayo (hayi izabelo zexabiso) phakathi komda ochaphazelekayo, nazo ziya kulungiswa.:

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

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

Inani lezinye izinto ezintsha likhulu: i-constants (const), amaxabiso angagqibekanga emisebenzi (umsebenzi pow(a,b=2) { return Math.pow(a,b); }), ubhalo olutsha lwemisebenzi (mayi-pow = (a,b=2) => Math.pow(a,b);),intlobo ngeentlobo zemisebenzi emitsha (repeat(),iqulathe()),(ukwakhiwa) (ukwakhiwa kwe-Wi), (ukuqala) (ukwakhiwa kweWi) ye.

Kwakhona kufanelekile ukukhankanya iintlobo ezintsha zedatha yeSeti, imephu, iProxy kunye neSimboli, ukukwazi ukungenisa (iinxalenye zezinye) iifayile zeJavaScript kunye nokungenisa kunye ne-syntax entsha enembile kwiiklasi kunye nelifa. Kodwa rhoqo kukwakho nezinto ezincinci kodwa ekudala zilindelwe njengokwenzeka kokuqhawuka komgca kumtya woqobo (qaphela amanqaku acatshulweyo akhethekileyo):

`foo

bar`

IJavaScript ibisoloko ingaphezulu kakhulu kunesixhobo nje samaqhinga amancinci ewebhusayithi - isetyenziselwa ukwenza ii-apps zewebhu ezinamandla nezisebenza kakuhle kakhulu njengee-desktop. Ngenxa yobuninzi beempawu ezintsha eziluncedo kunye nenkxaso ekhoyo ye-ES6, ukwenziwa kweenkqubo kuyonwabisa kabini.

Ngubani ongasoloko efuna ukukhangela ukulingana kwamanani amabini ngoncedo lweNombolo entsha yePSPSON , ixabiso lalo ngumahluko phakathi kwe-1 kunye nexabiso elilandelayo lokudada?

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