Skip to content

Commit 4f7eef3

Browse files
authored
Merge pull request #1524 from Rnbsov/patch-15
Small adjustments to match the original
2 parents fed6b0f + 4c6ac05 commit 4f7eef3

File tree

1 file changed

+25
-24
lines changed
  • 1-js/02-first-steps/17-arrow-functions-basics

1 file changed

+25
-24
lines changed
Lines changed: 25 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,29 +1,29 @@
1-
# Функции-стрелки, основы
1+
# Стрелочные функции, основы
22

3-
Существует ещё более простой и краткий синтаксис для создания функций, который часто лучше, чем синтаксис Function Expression.
3+
Существует ещё один очень простой и лаконичный синтаксис для создания функций, который часто лучше, чем Function Expression.
44

55
Он называется "функции-стрелки" или "стрелочные функции" (arrow functions), т.к. выглядит следующим образом:
66

77
```js
88
let func = (arg1, arg2, ...argN) => expression;
99
```
1010

11-
...Такой код создаёт функцию `func` с аргументами `arg1..argN` и вычисляет `expression` с правой стороны с их использованием, возвращая результат.
11+
Это создаёт функцию `func`, которая принимает аргументы `arg1..argN`, затем вычисляет `expression` в правой части с их использованием и возвращает результат.
1212

13-
Другими словами, это более короткий вариант такой записи:
13+
Другими словами, это сокращённая версия:
1414

1515
```js
1616
let func = function(arg1, arg2, ...argN) {
1717
return expression;
1818
};
1919
```
2020

21-
Давайте взглянем на конкретный пример:
21+
Давайте рассмотрим конкретный пример:
2222

2323
```js run
2424
let sum = (a, b) => a + b;
2525

26-
/* Более короткая форма для:
26+
/* Эта стрелочная функция представляет собой более короткую форму:
2727
2828
let sum = function(a, b) {
2929
return a + b;
@@ -34,29 +34,28 @@ alert( sum(1, 2) ); // 3
3434

3535
```
3636

37-
То есть, `(a, b) => a + b` задаёт функцию с двумя аргументами `a` и `b`, которая при запуске вычисляет выражение справа `a + b` и возвращает его результат.
37+
Как вы можете видеть, `(a, b) => a + b` задаёт функцию, которая принимает два аргумента с именами `a` и `b`. И при выполнении она вычисляет выражение `a + b` и возвращает результат.
3838

3939
- Если у нас только один аргумент, то круглые скобки вокруг параметров можно опустить, сделав запись ещё короче:
4040

4141
```js run
42-
// тоже что и
43-
// let double = function(n) { return n * 2 }
4442
*!*
4543
let double = n => n * 2;
44+
// примерно тоже что и: let double = function(n) { return n * 2 }
4645
*/!*
4746

4847
alert( double(3) ); // 6
4948
```
5049

51-
- Если нет аргументов, указываются пустые круглые скобки:
50+
- Если аргументов нет, круглые скобки будут пустыми (но они должны присутствовать):
5251

5352
```js run
5453
let sayHi = () => alert("Hello!");
5554
5655
sayHi();
5756
```
5857

59-
Функции-стрелки могут быть использованы так же, как и Function Expression.
58+
Стрелочные функции можно использовать так же, как и Function Expression.
6059

6160
Например, для динамического создания функции:
6261

@@ -67,43 +66,45 @@ let welcome = (age < 18) ?
6766
() => alert('Привет') :
6867
() => alert("Здравствуйте!");
6968
70-
welcome(); // теперь всё в порядке
69+
welcome();
7170
```
7271

73-
Поначалу функции-стрелки могут показаться необычными и трудночитаемыми, но это быстро пройдёт, как только глаза привыкнут к этим конструкциям.
72+
Поначалу стрелочные функции могут показаться необычными и даже трудночитаемыми, но это быстро пройдёт по мере того, как глаза привыкнут к этим конструкциям.
7473

75-
Они очень удобны для простых однострочных действий, когда лень писать много букв.
74+
Они очень удобны для простых однострочных действий, когда нам просто лень писать много слов.
7675

7776
## Многострочные стрелочные функции
7877

79-
В примерах выше аргументы использовались слева от `=>`, а справа вычислялось выражение с их значениями.
78+
В приведённых выше примерах аргументы брались слева от `=>`, а затем справа вычислялось выражение с их значениями.
8079

81-
Порой нам нужно что-то посложнее, например, выполнить несколько инструкций. Это также возможно, нужно лишь заключить инструкции в фигурные скобки. И использовать `return` внутри них, как в обычной функции.
80+
Иногда нам нужно что-то немного более сложное, например, несколько выражений или инструкций. Это также возможно, нужно лишь заключить их в фигурные скобки. Затем используйте обычный `return` внутри них.
8281

83-
Например:
82+
Вроде этого:
8483

8584
```js run
8685
let sum = (a, b) => { // фигурная скобка, открывающая тело многострочной функции
8786
let result = a + b;
8887
*!*
89-
return result; // при фигурных скобках для возврата значения нужно явно вызвать return
88+
return result; // если мы используем фигурные скобки, то нам нужно явно указать "return"
9089
*/!*
9190
};
9291
9392
alert( sum(1, 2) ); // 3
9493
```
9594

96-
```smart header="Дальше будет ещё информация"
97-
Здесь мы рассмотрели функции-стрелки как способ писать меньше букв. Но это далеко не всё!
95+
```smart header="Дальше - больше"
96+
Здесь мы представили главной целью стрелочных функций краткость. Но это ещё не всё!
9897
99-
Стрелочные функции обладают другими интересными особенностями. Их изучение требует знания некоторых других возможностей языка JavaScript, поэтому мы вернёмся к стрелочным функциям позже, в главе <info:arrow-functions>.
98+
Стрелочные функции обладают и другими интересными возможностями.
99+
100+
Чтобы изучить их более подробно, нам сначала нужно познакомиться с некоторыми другими аспектами JavaScript, поэтому мы вернёмся к стрелочным функциям позже, в главе <info:arrow-functions>.
100101
101102
А пока мы можем использовать их для простых однострочных действий и колбэков.
102103
```
103104

104105
## Итого
105106

106-
Функции-стрелки очень удобны для однострочных действий. Они бывают двух типов:
107+
Стрелочные функции очень удобны для однострочных действий. Они бывают двух типов:
107108

108-
1. Без фигурных скобок: `(...args) => expression` -- правая сторона выражение: функция выполняет его и возвращает результат.
109-
2. С фигурными скобками: `(...args) => { body }` -- скобки позволяют нам писать многострочные инструкции внутри функции, но при этом необходимо указывать директиву `return`, чтобы вернуть какое-либо значение.
109+
1. Без фигурных скобок: `(...args) => expression` -- правая сторона выражение: функция вычисляет его и возвращает результат.
110+
2. С фигурными скобками: `(...args) => { body }` -- скобки позволяют нам писать многострочные инструкции внутри функции, но при этом необходимо явно указывать директиву `return`, чтобы вернуть какое-либо значение.

0 commit comments

Comments
 (0)