Функции в JavaScript способны на большее! В этом курсе вы познакомитесь с такими понятиями, как объекты первого рода, лямбда-функции и функции высшего порядка. Научитесь передавать и принимать неограниченное число аргументов, изучите операции «отображение», «фильтрация» и «агрегация». Познакомитесь со сторонними библиотеками, значительно упрощающими работу программиста.
Чему вы научитесь:
- Использовать продвинутые возможности функций для написания лаконичного и эффективного кода
- Отделять чистые функции от функций с побочными эффектами
- Использовать функции высшего порядка (map/filter/reduce) для обработки коллекций
- Отличать императивную парадигму программирования от декларативной (функциональной)
Уроки курса
-
2
Чистые функции
Познакомиться с понятиями "детерминированность" и "побочные эффекты" (side effects). -
4
Оператор Rest (упаковка аргументов)
Узнать, как с помощью rest-оператора упаковывать аргументы функции в массив -
5
Оператор Spread (распаковка аргументов)
Узнать, как использовать spread-оператор при вызове функции -
6
Деструктуризация параметров
Научиться применять технику дестракчеринга для параметров функции -
7
Объекты первого класса
Посмотреть на функции, как на данные. Познакомиться с анонимными функциями. -
13
Парадигмы программирования
Познакомиться с понятием "парадигма" и рассмотреть отличия императивной и декларативной парадигм. -
14
Абстракция с помощью функций
Обобщить знания о функциях и познакомиться с понятием абстракции
Испытания
Это практические задания, которые мы советуем выполнить после завершения курса. Задания помогут вам получить дополнительный опыт в программировании и закрепить полученные навыки.
# | Задание | % завершений |
---|---|---|
1 | Слияние словарей | 86% |
2 | Теория вероятности | 72% |
3 | Морской бой 2 | 71% |
4 | Валидатор IPv6 | 79% |
5 | Одинаковая четность | 96% |
6 | Счётчик одногодок | 97% |
7 | NRZI кодирование | 87% |
8 | Фильтр анаграмм | 93% |
9 | IP конвертер | 84% |
10 | Поиск ближайшего соседа | 91% |
11 | Вертикальная гистограмма | 69% |
12 | Конвертер цветов | 90% |
13 | Столбчатая диаграмма | 71% |
14 | Горизонтальная гистограмма | 80% |
Автор
Сооснователь и CEO образовательного проекта Хекслет. Программирую с 2007 года. За это время прошёл путь от разработчика до технического директора и управляющего отдельным подразделением (филиалом). Управлял командами, в которых больше 50 разработчиков.
- Программирую на языках: Elixir, Clojure, JavaScript, PHP, Ruby.
- Соорганизатор конференции Nastachku.ru.
- Вимер.
- Топлю за DevOps и автоматизированные тесты.
Впечатления
Я не новичок в программировании. В этой сфере уже несколько лет. Но информация в этом курсе стала для меня "просветлением".
Теперь я совсем по другому буду смотреть на то как пишу код.
Огромное спасибо за курсы.
4 часа просидел над задачкой, решил с константами, потом еще пол после просмотра решения учителя и приведения своего кода к виду .map.filter.reduce (убрал кучу лишних констант), но оно того определенно стоит! Зато прочувствовал код изнутри, спасибо за такие задачки!
Ох и задачки у вас! Голову сломал. Сам сделал на костылях, кое-как, но лишь бы не читерить с решением учителя, потом глянул правильный вариант, и думал над тем как все там работает еще дольше, чем сам делал!) Но оно того стоило. Большое спасибо.
Хорошее итоговое задание для курса) Еще более радует, что удалось прочитать мысли учителя и выбрать похожий алгоритм решения 😃👍.
Хочу поблагодарить создателей курса за обновление! Так доходчиво про reduce я бы даже сам себе не объяснил!