Fixed translation and typos (#25300)
This commit is contained in:
committed by
Gregory Gubarev
parent
a146cb266a
commit
b15a2c3471
@ -1,59 +1,59 @@
|
||||
---
|
||||
title: Arrow Functions
|
||||
localeTitle: Функции стрелки
|
||||
localeTitle: Стрелочные функции
|
||||
---
|
||||
Функции Arrow - новый синтаксис ES6 для написания выражений функций JavaScript. Более короткий синтаксис экономит время, а также упрощает область действия.
|
||||
Стрелочные функции - новый синтаксис ES6 для написания функций JavaScript. Более короткий синтаксис экономит время, а также упрощает область видимости функции.
|
||||
|
||||
## Что такое функции стрелок?
|
||||
## Что такое стрелочные функции?
|
||||
|
||||
Выражение функции стрелки является более кратким синтаксисом для написания выражений функции с использованием токена «стрелка жира» ( `=>` ).
|
||||
Стрелочные функции — более краткий синтаксис для написания функций с использованием стрелки ( `=>` ).
|
||||
|
||||
### Основной синтаксис
|
||||
|
||||
Ниже приведен базовый пример функции стрелки:
|
||||
Ниже приведен базовый пример стрелочной функции:
|
||||
|
||||
```javascript
|
||||
// ES5 syntax
|
||||
// синтаксис в ES5
|
||||
var multiply = function(x, y) {
|
||||
return x * y;
|
||||
};
|
||||
|
||||
// ES6 arrow function
|
||||
// стрелочные функции в ES6
|
||||
var multiply = (x, y) => { return x * y; };
|
||||
|
||||
// Or even simpler
|
||||
// или еще проще
|
||||
var multiply = (x, y) => x * y;
|
||||
```
|
||||
|
||||
Вам больше не нужны `function` и `return` ключевые слова, или даже фигурные скобки.
|
||||
Вам больше не нужны ключевые слова `function`, `return` и даже фигурные скобки.
|
||||
|
||||
### Упрощение `this`
|
||||
|
||||
Перед функциями стрелок, новые функции , определенные их собственное `this` значение. Чтобы использовать `this` в традиционном выражении функции, мы должны написать обходное решение так:
|
||||
До появления стрелочных функций, функции имели собственное значение `this`. Чтобы использовать `this` традиционным способом, мы вынуждены прибегнуть к данному приёму:
|
||||
|
||||
```javascript
|
||||
// ES5 syntax
|
||||
// синтаксис ES5
|
||||
function Person() {
|
||||
// we assign `this` to `self` so we can use it later
|
||||
// мы привязываем `this` к переменной `self`, которую можно использовать позже
|
||||
var self = this;
|
||||
self.age = 0;
|
||||
|
||||
setInterval(function growUp() {
|
||||
// `self` refers to the expected object
|
||||
// `self` ссылается на нужный нам объект
|
||||
self.age++;
|
||||
}, 1000);
|
||||
}
|
||||
```
|
||||
|
||||
Функция стрелка не определяет его владелец `this` значения, то он наследует `this` от функции ограждающей:
|
||||
Стрелочная функция не определяет своего собственного значения `this`, а наследует `this` от родительской функции:
|
||||
|
||||
```javascript
|
||||
// ES6 syntax
|
||||
// синтаксис ES6
|
||||
function Person(){
|
||||
this.age = 0;
|
||||
|
||||
setInterval(() => {
|
||||
// `this` now refers to the Person object, brilliant!
|
||||
// `this` теперь ссылается на объект Person, отлично!
|
||||
this.age++;
|
||||
}, 1000);
|
||||
}
|
||||
@ -61,6 +61,6 @@ localeTitle: Функции стрелки
|
||||
var p = new Person();
|
||||
```
|
||||
|
||||
#### Дальнейшее чтение
|
||||
#### Дополнительные материалы
|
||||
|
||||
[Ссылка MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/Arrow_functions)
|
||||
[Ссылка на MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/Arrow_functions)
|
||||
|
Reference in New Issue
Block a user