Skip to content

Commit bf846db

Browse files
committed
Add context tasks
1 parent 4d48249 commit bf846db

File tree

1 file changed

+47
-1
lines changed

1 file changed

+47
-1
lines changed

lessons/lesson20/task.md

Lines changed: 47 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,56 @@
33
## Решить задачи на контекст
44

55
- создать новый репозиторий
6-
- решить предложенный набор задач (@todo) (и покрыть их тестами от 50%)
6+
- решить предложенный набор задач (и покрыть их тестами от 50%)
77
- открыть PR с релеватными изменениямяи
88
- сделать ревью 1 PR другого студента
99

10+
### Задачи
11+
12+
#### myBind
13+
14+
Вам необходимо реализовать собственную версию метода .bind для функций в JavaScript. Встроенный `.bind` использовать нельзя
15+
16+
```js
17+
function greet(greeting, punctuation) {
18+
return greeting + ', ' + this.name + punctuation;
19+
}
20+
21+
const person = { name: 'Алиса' };
22+
const greetAlice = greet.myBind(person, 'Привет');
23+
24+
console.log(greetAlice('!')); // Ожидаемый результат: "Привет, Алиса!"
25+
```
26+
27+
#### Цепочка
28+
29+
Создать конструктор с методами, так, чтобы следующий код работал и делал соответствующие вещи те запуск кода ниже должен делать то, что говорят методы
30+
31+
```js
32+
const u = new User();
33+
u.askName().askAge().showAgeInConsole().showNameInAlert();
34+
```
35+
36+
#### ForceConstructor
37+
38+
Создайте функцию `ForceConstructor`, которая работает как конструктор независимо от того, вызвана она с new или без и сохраняет параметры в создаваемый объект с именами параметров
39+
40+
#### curry
41+
42+
Написать каррирующую функцию `curry` ( преобразующую функцию - из функции многих аргументов, получить множество функций одного аргумента)
43+
44+
```js
45+
function sum2(x, y) {
46+
return x + y;
47+
}
48+
function sum4(a, b, c, d) {
49+
return a + b + c + d;
50+
}
51+
52+
curry(sum2)(1)(2); // 3
53+
curry(sum4)(2)(3)(4)(5); // 14
54+
```
55+
1056
## Критерии
1157

1258
Домашнее задание ""Принято"" при наборе 3 и более баллов, иначе ""На доработку"".

0 commit comments

Comments
 (0)