Skip to content

Commit

Permalink
Merge branch 'master' into master
Browse files Browse the repository at this point in the history
  • Loading branch information
galenteryan authored May 12, 2022
2 parents 8266bc9 + 314b4e6 commit 54d1508
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 13 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ function ask(question, yes, no) {
ask(
"Դուք համաձա՞յն եք:",
*!*
() => alert("Դուք համաձայնվեցիք:"),
() => alert("Դուք համաձայնեցիք:"),
() => alert("Դուք չեղարկեցիք կատարումը:")
*/!*
);
Expand Down
24 changes: 12 additions & 12 deletions 1-js/02-first-steps/17-arrow-functions-basics/article.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Սլաքով ֆունկցիաներ. հիմունքներ

Կա ևս մեկ շատ պարզ ու հակիրճ շարահյուսություն (syntax) ֆունկցիաներ ստեղծելու համար, որը հաճախ ավելի լավ է, քան Function Expression-ը (Ֆունկցիայի Արտահայտություն):
Կա ևս մեկ շատ պարզ ու հակիրճ շարահյուսություն ֆունկցիաներ ստեղծելու համար, որը հաճախ ավելի հարմար է, քան Ֆունկցիոնալ Արտահայտությունը (Function Expression):

Այն կոչվում է «սլաքով ֆունկցիաներ» (arrow functions), քանի որ այն ունի հետևյալ տեսքը.

Expand All @@ -23,7 +23,7 @@ let func = function(arg1, arg2, ..., argN) {
```js run
let sum = (a, b) => a + b;

/* Այս սլաքով ֆունկցիան ավելի կրճատ ձև է, քան․
/* Այս սլաքով ֆունկցիան ավելի կրճատ է, քան․
let sum = function(a, b) {
return a + b;
Expand All @@ -48,15 +48,15 @@ alert( sum(1, 2) ); // 3
alert( double(3) ); // 6
```

- Եթե չկան արգումենտներ, կոր փակագծերը դատարկ են, բայց դրանք պետք է առկա լինեն․
- Եթե արգումենտներ չկան, կոր փակագծերը դատարկ են, բայց դրանք պետք է առկա լինեն․

```js run
let sayHi = () => alert("Hello!");
let sayHi = () => alert("Ողջույն");
sayHi();
```

Սլաքով ֆունկցիաները կարող են օգտագործվել նույն կերպ, ինչպես Function Expression-ը։
Սլաքով ֆունկցիաները կարող են օգտագործվել նույն կերպ, ինչպես Ֆունկցիոնալ Արտահայտությունները։

Օրինակ՝ դինամիկ կերպով ֆունկցիա ստեղծելու համար․

Expand All @@ -70,23 +70,23 @@ let welcome = (age < 18) ?
welcome();
```

Սլաքով ֆունկցիաները սկզբից կարող են անսովոր և ոչ այդքան հեշտ ընթերվող թվալ, բայց դա արագ փոխվում է, երբ աչքերը սովորում են կառուցվածքին:
Սլաքով ֆունկցիաները սկզբից կարող են անսովոր և ոչ այդքան հեշտ ընթերցվող թվալ, բայց դա արագ փոխվում է, երբ աչքերը սովորում են կառուցվածքին:

Դրանք շատ հարմար են պարզ, մի տողանի գործողությունների համար, երբ կալարենք գրել ավելի շատ բառեր։
Դրանք շատ հարմար են պարզ՝ մի տողանի գործողությունների համար, երբ կզլանանք գրել ավելի շատ բառեր։

## Բազմատողանի սլաքով ֆունկցիաներ

Սլաքով ֆունկցիաները, որոնք մենք տեսանք մինչ այս, շատ պարզ էին։ Նրանք ստանում էին արգումենտներ `=>`-ի ձախ կողմում, արժևորում և դրանցով վերադարձնում էին արտահայտությունն աջ կողմում:

Երբեմն մեզ պետք է լինում ավելի բարդ ֆունկցիա՝ մի քանի արտահայտություններով և հայտարարություններվ։ Այդ դեպքում կարող ենք դրանք վերցնել ձևավոր փակագծերի մեջ: Հիմնական տարբերությունը նրանում է, որ ձևավոր փակագծերի ժամանակ պատասխան վերադարձնելու համար անհրաժեշտ է օգտագործել `return` նրանց ներսում (ինչպես սովորական ֆունկցիաներում)։
Երբեմն մեզ պետք է լինում ավելի բարդ ֆունկցիա՝ մի քանի արտահայտություններով և դրույթներով։ Այդ դեպքում կարող ենք դրանք վերցնել ձևավոր փակագծերի մեջ: Հիմնական տարբերությունը նրանում է, որ ձևավոր փակագծերի ժամանակ պատասխան վերադարձնելու համար անհրաժեշտ է օգտագործել `return` դրանց ներսում (ինչպես սովորական ֆունկցիաներում)։

Այսպես․

```js run
let sum = (a, b) => { // ձևավոր փակագիծը բացում է բազմատողանի ֆունկցիան
let result = a + b;
*!*
return result; // եթե օգտագործում ենք ձևավոր փակագծեր, ապա անհրաժեշտ է հստակ նշել "return"
return result; // եթե օգտագործում ենք ձևավոր փակագծեր, ապա անհրաժեշտ է հստակ նշել «return»
*/!*
};
Expand All @@ -98,7 +98,7 @@ alert( sum(1, 2) ); // 3
Սլաքով ֆունկցիաներն ունեն նաև այլ հետաքրքիր առանձնահատկություններ:
Դրանց խորը ուսումնասիրման համար, մեզ առաջին հերթին պետք է ծանոթանալ JavaScript-ի որոշ այլ ասպեկտների հետ, այնպես որ մենք կվերադառնանք սլաքով ֆունկցիաներին ավելի ուշ՝ <info:arrow-functions> գլխում:
Դրանց խորը ուսումնասիրման համար մեզ առաջին հերթին պետք է ծանոթանալ JavaScript-ի որոշ այլ հայեցակետերի հետ, այնպես որ մենք կվերադառնանք սլաքով ֆունկցիաներին ավելի ուշ՝ <info:arrow-functions> գլխում:
Առայժմ մենք կարող ենք օգտագործել սլաքով ֆունկցիաները մեկ տողանի գործողությունների և հետկանչերի (callback) համար:
```
Expand All @@ -107,5 +107,5 @@ alert( sum(1, 2) ); // 3

Սլաքով ֆունկցիաները հարմար են պարզ գործողությունների համար, հատկապես՝ մեկ տողանի։ Դրանք լինում են երկու տեսակի.

1. Առանց ձևավոր փակագծերի: `(...args) => expression` -- աջ կողմում արտահայտությունն է. ֆունկցիան արժևորում է այն և վերադարձնում արդյունքը: Կոր փակագծերը կարելի է չնշել, եթե կա միայն մեկ արգումենտ, օր․՝ `n => n*2`։
2. Ձևավոր փակագծերով `(...args) => { body }` -- փակագծերը թույլ են տալիս գրել մի քանի հայտարարություն ֆունկցիայի ներսում, բայց անհրաժեշտ է հստակ նշել `return` պատասխան վերադարձնելու համար:
1. Առանց ձևավոր փակագծերի՝ `(...args) => expression`, աջ կողմում արտահայտությունն է. ֆունկցիան արժեվորում է այն և վերադարձնում արդյունքը: Կոր փակագծերը կարելի է նաև չնշել, եթե առկա է միայն մեկ արգումենտ, օր․՝ `n => n*2`։
2. Ձևավոր փակագծերով՝ `(...args) => { body }`, փակագծերը թույլ են տալիս գրել մի քանի դրույթ ֆունկցիայի ներսում, բայց պատասխան վերադարձնելու համար անհրաժեշտ է հստակ նշել `return`:

0 comments on commit 54d1508

Please sign in to comment.