JavaScript- ը գերակշռում է ոստայնում և ECMAScript- ում, լեզվի առանցքն աճում է: Նոր հստակեցումը (ES6 կամ JS2), որը սպասվում է այս տարվա կեսերին, իր հետ բերում է բազմաթիվ նորամուծություններ, որոնք այսօր արդեն հնարավոր է փորձարկել: Firefox- ը ներկայումս ունի ամենալավ աջակցությունը , բայց հնարավոր է նաև պոլֆիլիացում, այսպես կոչված, Google Traceur- ի միջոցով: Ստորև ներկայացված է ES6- ի նոր առանձնահատկությունների հակիրճ նկարագրություն:
Թույլ տվեք, որ նոր հիմնաբառը շատ բաներ ավելի լավն է, քան var- ը . Scoping- ն այժմ իրեն պահում է ճիշտ այնպես, ինչպես մյուս լեզուներում (C / C ++, Java), այդ իսկ պատճառով եթե-բլոկներն այժմ ունեն նաև իրենց սեփական շրջանակը: Վերականգնվում է նաև բարձրացումը, այսինքն `համապատասխան շրջանակներում փոփոխական հայտարարագրերի (ոչ թե արժեքային նշանակումների) առաջ քաշումը:
console.log(x); var x = 'foo'; // undefined console.log(y); let y = 'bar'; // not initialized
Այլ նորամուծությունների քանակը երկար է. Հաստատուններ (հաստատուններ), գործառույթների լռելյայն արժեքներ (ֆունկցիա pow (a, b = 2) {վերադարձնել մաթ. Pow (a, b);}), գործառույթների նոր նշում = (a, b = 2) => Math.pow (a, b);), նոր գործառույթների բազմություն (կրկնել (), պարունակում է (), startWith (), find (), findIndex ()), նոր օղակի կառուցում համար ...
Պետք է նշվեն նաև տվյալների նոր տեսակների հավաքածու, քարտեզ, վստահված անձ և խորհրդանիշ, JavaScript ֆայլերի (այլ մասերի) ներմուծում ներմուծմամբ և դասերի և ժառանգության համար նոր ինտուիտիվ շարահյուսություն: Հաճախ լինում են նաև փոքր, բայց երկար սպասված բաներ, ինչպիսիք են տողերի ընդհատումների հնարավորությունը լարային տառերում (նշիր հատուկ չակերտները):
`foo bar`
JavaScript- ը վաղուց ավելին էր, քան գործիք փոքր հնարքների համար. Այն ստեղծում է հզոր, բարձր արդյունավետությամբ վեբ-ծրագրեր, որոնք ոչ մի կերպ չեն զիջում իրենց աշխատասեղանի նմանակներին: Օգտակար նորարարությունների մեծ թվով և ES6- ի կողմից արդեն հասանելի աջակցությամբ, ծրագրավորումը կրկնակի զվարճալի է:
Ո՞վ միշտ չէ, որ ցանկացել է ստուգել երկու թվերի հավասարությունը նոր հաստատուն թվի միջոցով: EPSILON , որի արժեքը կրում է տարբերությունը 1-ի և հաջորդ բարձր լողացող կետի արժեքի միջև:
let cmp = (a,b) => Math.abs(a-b)