You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: 1-js/02-first-steps/17-arrow-functions-basics/article.md
+20-20Lines changed: 20 additions & 20 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,29 +1,29 @@
1
1
# Функции-стрелки, основы
2
2
3
-
Существует ещё более простой и краткий синтаксис для создания функций, который часто лучше, чем синтаксис Function Expression.
3
+
Существует еще один очень простой и лаконичный синтаксис для создания функций, который часто лучше, чем Function Expression.
4
4
5
5
Он называется "функции-стрелки" или "стрелочные функции" (arrow functions), т.к. выглядит следующим образом:
6
6
7
7
```js
8
8
letfunc= (arg1, arg2, ...argN) => expression;
9
9
```
10
10
11
-
...Такой код создаёт функцию `func` с аргументами `arg1..argN` и вычисляет `expression`с правой стороны с их использованием, возвращая результат.
11
+
Это создает функцию `func`, которая принимает аргументы `arg1..argN`, затем вычисляет `expression`в правой части с их использованием и возвращает результат.
12
12
13
-
Другими словами, это более короткий вариант такой записи:
13
+
Другими словами, это сокращенная версия:
14
14
15
15
```js
16
16
letfunc=function(arg1, arg2, ...argN) {
17
17
return expression;
18
18
};
19
19
```
20
20
21
-
Давайте взглянем на конкретный пример:
21
+
Давайте рассмотрим конкретный пример:
22
22
23
23
```js run
24
24
letsum= (a, b) => a + b;
25
25
26
-
/*Более короткая форма для:
26
+
/*Эта стрелочная функция представляет собой более короткую форму:
27
27
28
28
let sum = function(a, b) {
29
29
return a + b;
@@ -34,7 +34,7 @@ alert( sum(1, 2) ); // 3
34
34
35
35
```
36
36
37
-
То есть, `(a, b) => a + b` задаёт функцию с двумя аргументами `a` и `b`, которая при запуске вычисляет выражение справа `a + b` и возвращает его результат.
37
+
Как вы можете видеть, `(a, b) => a + b` задаёт функцию, которая принимает два аргумента с именами `a` и `b`. При выполнении она вычисляет выражение `a + b` и возвращает результат.
38
38
39
39
- Если у нас только один аргумент, то круглые скобки вокруг параметров можно опустить, сделав запись ещё короче:
40
40
@@ -56,7 +56,7 @@ alert( sum(1, 2) ); // 3
56
56
sayHi();
57
57
```
58
58
59
-
Функции-стрелки могут быть использованы так же, как и Function Expression.
59
+
Стрелочные функции можно использовать так же, как и Function Expression.
60
60
61
61
Например, для динамического создания функции:
62
62
@@ -67,36 +67,36 @@ let welcome = (age < 18) ?
67
67
() => alert('Привет') :
68
68
() => alert("Здравствуйте!");
69
69
70
-
welcome(); // теперь всё в порядке
70
+
welcome();
71
71
```
72
72
73
-
Поначалу функции-стрелки могут показаться необычными и трудночитаемыми, но это быстро пройдёт, как только глаза привыкнут к этим конструкциям.
73
+
Поначалу стрелочные функции могут показаться необычными и даже трудночитаемыми, но это быстро пройдёт по мере того, как глаза привыкнут к этим конструкциям.
74
74
75
-
Они очень удобны для простых однострочных действий, когда лень писать много букв.
75
+
Они очень удобны для простых однострочных действий, когда нам просто лень писать много слов.
76
76
77
77
## Многострочные стрелочные функции
78
78
79
-
В примерах выше аргументы использовались слева от `=>`, а справа вычислялось выражение с их значениями.
79
+
В приведенных выше примерах аргументы брались слева от `=>`, а затем справа вычислялось выражение с их значениями.
80
80
81
-
Порой нам нужно что-то посложнее, например, выполнить несколько инструкций. Это также возможно, нужно лишь заключить инструкции в фигурные скобки. И использовать `return` внутри них, как в обычной функции.
81
+
Иногда нам нужно что-то немного более сложное, например, несколько выражений или инструкций. Это также возможно, нужно лишь заключить их в фигурные скобки. Затем используйте обычный `return` внутри них.
82
82
83
-
Например:
83
+
Вроде этого:
84
84
85
85
```js run
86
86
let sum = (a, b) => { // фигурная скобка, открывающая тело многострочной функции
87
87
let result = a + b;
88
88
*!*
89
-
return result; // при фигурных скобках для возврата значения нужно явно вызвать return
89
+
return result; // если мы используем фигурные скобки, то нам нужно явно указать "return"
90
90
*/!*
91
91
};
92
92
93
93
alert( sum(1, 2) ); // 3
94
94
```
95
95
96
-
```smart header="Дальше будет ещё информация"
97
-
Здесь мы рассмотрели функции-стрелки как способ писать меньше букв. Но это далеко не всё!
96
+
```smart header="Еще многое впереди"
97
+
Здесь мы представили главной целью стрелочных функций краткость. Но это еще не всё!
98
98
99
-
Стрелочные функции обладают другими интересными особенностями.
99
+
Стрелочные функции обладают и другими интересными возможностями.
100
100
101
101
Чтобы изучить их более подробно, нам сначала нужно познакомиться с некоторыми другими аспектами JavaScript, поэтому мы вернёмся к стрелочным функциям позже, в главе <info:arrow-functions>.
102
102
@@ -105,7 +105,7 @@ alert( sum(1, 2) ); // 3
105
105
106
106
## Итого
107
107
108
-
Функции-стрелки очень удобны для однострочных действий. Они бывают двух типов:
108
+
Стрелочные функции очень удобны для однострочных действий. Они бывают двух типов:
109
109
110
-
1. Без фигурных скобок:`(...args) => expression`-- правая сторона выражение: функция выполняет его и возвращает результат.
111
-
2. С фигурными скобками:`(...args) => { body }`-- скобки позволяют нам писать многострочные инструкции внутри функции, но при этом необходимо указывать директиву `return`, чтобы вернуть какое-либо значение.
110
+
1. Без фигурных скобок:`(...args) => expression`-- правая сторона выражение: функция вычисляет его и возвращает результат.
111
+
2. С фигурными скобками:`(...args) => { body }`-- скобки позволяют нам писать многострочные инструкции внутри функции, но при этом необходимо явно указывать директиву `return`, чтобы вернуть какое-либо значение.
0 commit comments