--- id: 587d7b87367417b2b2512b43 title: Use Arrow Functions to Write Concise Anonymous Functions challengeType: 1 videoUrl: '' localeTitle: Используйте функции стрелок для записи сжатых анонимных функций --- ## Description
В JavaScript нам часто не нужно называть наши функции, особенно при передаче функции в качестве аргумента другой функции. Вместо этого мы создаем встроенные функции. Нам не нужно называть эти функции, потому что мы не используем их повторно нигде. Для этого мы часто используем следующий синтаксис:
const myFunc = function () {
const myVar = "value";
return myVar;
}
ES6 предоставляет нам синтаксический сахар, чтобы не писать анонимные функции таким образом. Вместо этого вы можете использовать синтаксис функции стрелки :
const myFunc = () => {
const myVar = "value";
return myVar;
}
Когда нет тела функции и только возвращаемое значение, синтаксис функции стрелки позволяет опустить return ключевое слово, а также скобки, окружающие код. Это помогает упростить меньшие функции в однострочные операторы:
const myFunc = () => "value"
Этот код по-прежнему будет возвращать value по умолчанию.
## Instructions
Перепишите функцию, назначенную переменной magic которая возвращает новую Date() для использования синтаксиса функции стрелки. Также убедитесь, что ничего не определено с помощью ключевого слова var .
## Tests
```yml tests: - text: Пользователь выполнил замену ключевого слова var . testString: 'getUserInput => assert(!getUserInput("index").match(/var/g), "User did replace var keyword.");' - text: magic должна быть постоянной переменной (используя const ). testString: 'getUserInput => assert(getUserInput("index").match(/const\s+magic/g), "magic should be a constant variable (by using const).");' - text: magic - это function . testString: 'assert(typeof magic === "function", "magic is a function.");' - text: magic() возвращает правильную дату. testString: 'assert(magic().getDate() == new Date().getDate(), "magic() returns correct date.");' - text: ключевое слово function не использовалось. testString: 'getUserInput => assert(!getUserInput("index").match(/function/g), "function keyword was not used.");' ```
## Challenge Seed
```js var magic = function() { "use strict"; return new Date(); }; ```
## Solution
```js // solution required ```