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