Files
freeCodeCamp/guide/russian/javascript/es6/arrow-functions/index.md

61 lines
2.1 KiB
Markdown
Raw Normal View History

2018-10-12 16:00:59 -04:00
---
title: Arrow Functions
localeTitle: Функции стрелки
---
## Функции стрелок
Функции в ES6 немного изменились. Я имею в виду синтаксис.
```javascript
// Old Syntax
function oldOne() {
console.log("Hello World..!");
}
// New Syntax
var newOne = () => {
console.log("Hello World..!");
}
```
Новый синтаксис может немного запутать. Но я попытаюсь объяснить синтаксис. Есть две части синтаксиса.
1. var newOne = ()
2. \=> {}
Первая часть просто объявляет переменную и присваивает ей функцию (т.е.) (). Он просто говорит, что переменная на самом деле является функцией.
Затем вторая часть объявляет часть тела функции. Часть стрелки с фигурными скобками определяет часть тела.
Другой пример с параметрами:
```javascript
let NewOneWithParameters = (a, b) => {
console.log(a+b); // 30
}
NewOneWithParameters(10, 20);
```
Скобки необязательны, если есть только одно имя параметра:
```javascript
let newOneWithOneParam = a => {
console.log(a);
}
```
Невероятным преимуществом функции стрелок является то, что вы не можете восстановить функцию стрелки. Он всегда будет вызываться с контекстом, в котором он был определен. Просто используйте обычную функцию.
```javascript
// Old Syntax
axios.get(url).then(function(response) {
this.data = response.data;
}).bind(this);
// New Syntax
axios.get(url).then(response => {
this.data = response.data;
});
```
Я не думаю, что мне нужно объяснить это. Это просто.