Skip to content

Latest commit

 

History

History
61 lines (41 loc) · 4.08 KB

Introducing the Exponentiation Operator in JS.hy.md

File metadata and controls

61 lines (41 loc) · 4.08 KB

** օպերատորը 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

Եթե աստիճանացույցը ամբողջ թիվ չէ, այն անպայման պետք է վերցնել ՓԱԿԱԳԾԵՐԻ մեջ, հակառակ դեպքում կստանանք ոչ կոռեկտ արդյունք։