|
| 1 | +# Упражнения |
| 2 | + |
| 3 | +## Поднятие |
| 4 | + |
| 5 | +1. Напишите функцию, содержащую внутри себя переменную с поднятием. |
| 6 | +2. Опубликуйте пример с функцией на github. |
| 7 | +3. Используйте eslint, для поиска проблем в коде и флаг --fix для их исправления. |
| 8 | +4. При необходимости исправьте пример и отправьте изменеия на github. |
| 9 | + |
| 10 | +## Скалярные и Ссылочные типы данных |
| 11 | + |
| 12 | +Подготовьте две реализации функции `inc`: |
| 13 | +1. C сигнатурой `inc(n: number): number`, |
| 14 | +пример вызова: `let a = 5; const b = inc(a); console.dir({ a, b });` |
| 15 | +2. C сигнатурой `inc(num: Num)`, где `Num` является объектом с полем `n`, |
| 16 | +чтобы функция изменила поле исходного объекта переданного по ссылке, |
| 17 | +пример вызова `let obj = { n: 5} ; inc(obj); console.dir(obj);` |
| 18 | + |
| 19 | +## Типы объектов |
| 20 | + |
| 21 | +1. Создайте массив, содержащий названия различных типов данных, в качестве элементов, |
| 22 | +пример: `['number', 'string', 'number']` |
| 23 | +2. Создайте объект-коллекцию с именами типов в виде ключей и `0` в качестве значения, |
| 24 | +пример: `{ number: 0, string: 0 }` и так далее для всех типов данных. |
| 25 | +3. Пройдитесь по массиву циклом `for..of` и для каждого элемента массива, увеличивайте |
| 26 | +соответствующее значение в объекте-коллекции. |
| 27 | +4. Измените пример: удалите все ключи из начальной коллекции и добавляйте их |
| 28 | +динамически используя цикл. |
0 commit comments