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;