** օպերատորը JavaScript-ում: Իսկ դուք գիտե՞ք, որ այն կարելի է օգտագործել նաև արմատ հանելու համար: Ուրիշ էլ ի՞նչ հետաքրքիր առանձնահատկություններ ունի այն:
Աստիճան բարձրացնելու համար JavaScript-ում ստեղծման պահից օգտագործվել է ներդրված Math օբյեկտի pow մեթոդը։ Սինթաքսը ունի հետևյալ տեսքը՝
Math.pow(base, exponent)
, որտեղ base-ը հիմքն է, այսինքն այն թիվը որը պատրաստվում ենք աստիճան բարձրացնել, իսկ exponent-ը՝ աստիճանացույցը կամ ցուցիչը։
ES7 ստանդարտով JavaScript ներմուծվեց նոր օպերատոր՝ **, որի օգնությամբ կարելի է աստիճան բարձրացնել ավելի կարճ գրելաձևով, այլևս չօգտվելով Math ներդրված օբյեկտից։ Ի դեպ երկու աստղանիշները որպես աստիճան բարձրացնելու օպերատոր առաջին անգամ օգտագործվել է ամենահին բարձր մակարդակի ծրագրավորման լեզու հանդիսացող Fortran-ում։
Օրինակ ենթադրենք թե ուզում ենք ստանալ 2-ի քառակուսին, ընդամենը հարկավոր է գրել՝
2 ** 2; // 4
2-ի խորանարդը ստանալու համար՝
2 ** 3; // 8
Չորս աստիճանը համապատասխանաբար կլինի՝
2 ** 4; // 16
Եթե a ** -b աստիճանացույցը բացասական թիվ է, ապա կստանանք 1 / a ** b, օրինակ՝
2 ** -2; // 0.25
2 ** -4; // 0.0625
Եթե հիմքն է բացասական թիվ, ապա կստանանք սինթաքսի սխալ։ Որպեսզի այդպիսի բան տեղի չունենա, ընդամենը հարկավոր է բացասական հիմքը վերցնել ՓԱԿԱԳԾԵՐԻ մեջ։
-2 ** 3; // Uncaught SyntaxError
(-2) ** 3; // -8
Եթե հիմքը թիվ է, իսկ աստիճանացույցը undefined, ապա արդյունքը կլինի NaN, ինչը լիովին տրամաբանական է, քանի որ ինտերպրետատորը մաթեմատիկական գործողություն կատարելիս փորձելու է undefined-ը անուղղակիորեն թվի վերածել և ստանալու է NaN։ Իսկ ինչպես մենք գիտենք, NaN-ի հետ ցանկացած մաթեմատիկական գործողության արդյունքում ստանում ենք էլի NaN:
2 ** undefined; // NaN
Եթե աստիճանացույցը null է, ապա մենք հիմքի 0-ից տարբեր ցանկացած թվի դեպքում կունենանք 1։ Սա նույնպես տեղի է ունենում տիպերի անուղղակի վերափոխման արդյունքում՝ null-ը վերափոխում է 0-ի, և մաթեմատիկական գործողությունը կատարվում է այդ տրամաբանության մեջ՝ զրոյից տարբեր կամայական թվի 0 աստիճանը հավասար է 1-ի։
5 ** null; // 1
(-3) ** null; // 1
** մաթեմատիկական օպերատորը աշխատում է նաև աստիճանացույցի ոչ ամբողջ թիվ լինելու դեպքում։ Օրինակ թվից քառակուսի արմատ հանելը հավասար է թիվը 1/2 աստիճանացույցով աստիճան բարձրացնելուն, խորանարդ արմատ հանելը՝ թիվը 1/3 աստիճանացույցով աստիճան բարձրացնելուն։
9 ** (1 / 2); // 3
8 ** (1 / 3); // 2
Եթե աստիճանացույցը ամբողջ թիվ չէ, այն անպայման պետք է վերցնել ՓԱԿԱԳԾԵՐԻ մեջ, հակառակ դեպքում կստանանք ոչ կոռեկտ արդյունք։