JavaScript ayaa maamusha shabakadda - ECMAScript, oo ah xudunta luqadda, ayaa bislaanaysa. Tilmaamaha cusub (ES6 ama JS2), oo la filayo bartamaha sanadka, ayaa keenaya hal-abuurro badan oo horey loo tijaabin karo. Firefox hadda waxay bixisaa taageerada ugu fiican , laakiin polyfills iyada oo loo marayo transpilers sida Google Traceur ayaa sidoo kale suurtagal ah. Dulmar kooban oo ku saabsan sifooyinka cusub ee ES6 ayaa soo socda.
Erayga muhiimka ah ee cusub ha u ogolaado waxyaabo badan oo ka fiican var : scoping hadda waxay u dhaqmaan sida luqadaha kale (C/C++, Java), taas oo ah sababta haddii blocks hadda ay sidoo kale leeyihiin baaxad u gaar ah. Kor-u-qaadista, ie. kala-mudnaansiinta caddaynta is-beddelka ah (ma aha hawlo qiimo leh) oo ku dhex jira baaxadda, sidoo kale waa la hagaajin doonaa:
console.log(x); var x = 'foo'; // undefined console.log(y); let y = 'bar'; // not initialized
Tirada hal-abuurka kale waa weyn: joogto ah (const), qiimaha caadiga ah ee hawlaha (function pow (a,b=2) {soo celinta Xisaabta
Waxa kale oo xusid mudan noocyada xogta cusub ee Set, Map, Proxy and Symbol, awoodda soo dejinta (qaybo kale) faylalka JavaScript ee soo dejinta iyo hab cusub oo dareen leh oo loogu talagalay fasallada iyo dhaxalka. Laakiin inta badan waxa jira waxyaabo yaryar laakiin wakhti dheer la sugayay sida suurtogalnimada in xariiqda la jebiyo xargaha xargaha (u fiirso calaamadaha xigashada gaarka ah):
`foo bar`
JavaScript muddo dheer wuxuu ahaa wax ka badan qalab loogu talagalay xeeladaha yaryar ee mareegaha - waxaa loo isticmaalaa in lagu abuuro barnaamijyo shabakadeed oo awood badan oo waxqabad sare leh oo wax walba u fiican sida kuwa kale ee desktop-ka. Iyada oo ay jiraan astaamo cusub oo waxtar leh iyo taageerada hadda jirta ee ES6, barnaamijintu waa labanlaab ka xiiso badan.
Yaan had iyo jeer rabin inuu hubiyo sinnaanta laba lambar isagoo gacan ka helaya Lambarka cusub ee joogtada ah. EPSILON , oo qiimaheeda uu yahay farqiga u dhexeeya 1 iyo qiimaha dhibcaha soo socda ee sare
let cmp = (a,b) => Math.abs(a-b) < Number.EPSILON;