Files
freeCodeCamp/curriculum/challenges/ukrainian/02-javascript-algorithms-and-data-structures/es6/use-arrow-functions-to-write-concise-anonymous-functions.md
2022-03-30 06:59:31 -07:00

92 lines
2.9 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
id: 587d7b87367417b2b2512b43
title: Використовуйте функцію Arrow для опису анонімної функції
challengeType: 1
forumTopicId: 301211
dashedName: use-arrow-functions-to-write-concise-anonymous-functions
---
# --description--
У JavaScript, нам часто не потрібно називати функцію, особливо при передачі функції в якості аргументу іншої функції. Натомість створюються вбудовані функції. Їх не потрібно називати, бо вони більш ніде не використовуються.
Щоб досягнути цього, використовується наступний синтаксис:
```js
const myFunc = function() {
const myVar = "value";
return myVar;
}
```
ES6 надає нам синтаксичні можливості, щоб не використовувати анонімних функцій таким чином. Саме тому варто використовувати **синтаксичну функцію arrow**:
```js
const myFunc = () => {
const myVar = "value";
return myVar;
}
```
Коли відсутнє тіло функції, а є лише повернене значення, то синтаксична функція arrow дозволяє опустити ключове слово `return`, а також дужки, що стосуються коду. Це допомагає спростити невелику функцію в однорядковий вираз:
```js
const myFunc = () => "value";
```
Цей код все це поверне рядок `value` за змовчуванням.
# --instructions--
Перепишіть функцію, призначеній змінній `magic`, що перетворюється на`new Date()` використовуючи синтаксичну функцію arrow. Також переконайтесь, що ще нічого не визначено за допомогою ключового слова `var`.
# --hints--
Вам слід замінити ключове слово `var`.
```js
assert.notMatch(code, /var/g)
```
`magic` має бути постійною змінною (використовуйте `const`).
```js
assert.match(code, /const\s+magic/g)
```
`magic` має бути `function`.
```js
assert(typeof magic === 'function');
```
`magic()` повинна повернути правильну дату.
```js
assert(magic().setHours(0, 0, 0, 0) === new Date().setHours(0, 0, 0, 0));
```
Не використовуйте ключове слово `function`.
```js
assert.notMatch(code, /function/g)
```
# --seed--
## --seed-contents--
```js
var magic = function() {
return new Date();
};
```
# --solutions--
```js
const magic = () => {
return new Date();
};
```