2.9 KiB
id, title, challengeType, forumTopicId, dashedName
| id | title | challengeType | forumTopicId | dashedName |
|---|---|---|---|---|
| 587d7b87367417b2b2512b43 | Стрілкові функції для написання стислих анонімних функцій | 1 | 301211 | use-arrow-functions-to-write-concise-anonymous-functions |
--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, яка повертає new Date(), щоб вона використовувала синтаксис стрілкової функції. Переконайтесь, що нічого не визначено за допомогою ключового слова var.
--hints--
Ви повинні замінити ключове слово var.
assert.notMatch(code, /var/g)
magic повинна бути константною змінною (використовуйте const).
assert.match(code, /const\s+magic/g)
magic повинна бути функцією (function).
assert(typeof magic === 'function');
magic() повинна повертати правильну дату.
assert(magic().setHours(0, 0, 0, 0) === new Date().setHours(0, 0, 0, 0));
Не використовуйте ключове слово function.
assert.notMatch(code, /function/g)
--seed--
--seed-contents--
var magic = function() {
return new Date();
};
--solutions--
const magic = () => {
return new Date();
};