Скидки до 28% + 2-ая профессия бесплатно и подарки на 50 000₽

Главная | Все статьи | Дневник студента

Cаммари: JS: Функции

Время чтения статьи ~1 минута
Статья написана студентом Хекслета. Мнение автора может не совпадать с позицией редакции
Cаммари: JS: Функции главное изображение
Chapter 2: Чистые функции

Детерминированность: Функция, которая при одних и тех же входных параметрах выдает одинаковый результат, не должна зависеть от внешних переменных.

Side-effect: Функции с побочными эффектами, включающие запись/чтение/вывод на экран Pure-function: Детерминированная функция без побочных эффектов

Chapter 3: Разделение команд и запросов
  • Каждая функция является либо запросом(query), либо командой, и выполняет действие(action). Команда всегда связана с выполнением побочных эффектов, а чистые функции возможны только для запросов.
  • Команда: может возвращать только успешность своего завершения true/false
  • Запрос: «Задавая вопрос, не изменяй ответ»: запрос не должен изменять входные данные
Chapter 4: Оператор Rest
  • const func = (a, ...params) => {} // упаковка множества входящих параметров в массив params
Chapter 7:Объекты первого класса
  • Объекты первого класса: элементы, которые могут быть переданы в функции, возвращены из функций и присвоены переменным
  • В JavaScript функции — это объекты первого рода.
  • (() => console.log('I love Hexlet'))(); вызов функции один раз
Chapter 8: Функции высшего порядка
  • Функции высшего порядка - это функции, которые либо принимают, либо возвращают другие функции, либо делают всё сразу.
Map/Filter/Reduce:
  • Метод map() создаёт новый массив с результатом вызова указанной функции для каждого элемента массива. Возвращает отображаемый элемент в новом виде.
  • Метод filter() callback должен вернуть предиктат true/false
  • Метод reduce() возвращает аккумулятор своей работы const sum = users.reduce((acc, user) => acc + user.amount, 0); Или же reduce(callback(acc, elem), acc)
Chapter 13: Парадигмы программирования
  • Императивная отвечает на вопрос КАК — использует переменные, циклы, присваивания
  • Декларативная отвечает на вопрос ЧТО сделать — использует логические цепочки и связывание вместо присваивания
Аватар пользователя Alexandr Firsov
Alexandr Firsov 14 января 2021
1
Похожие статьи
Рекомендуемые программы
профессия
Верстка на HTML5 и CSS3, Программирование на JavaScript в браузере, разработка клиентских приложений используя React
10 месяцев
с нуля
Старт 26 декабря
профессия
Программирование на Python, Разработка веб-приложений и сервисов используя Django, проектирование и реализация REST API
10 месяцев
с нуля
Старт 26 декабря
профессия
Тестирование веб-приложений, чек-листы и тест-кейсы, этапы тестирования, DevTools, Postman, SQL, Git, HTTP/HTTPS, API
4 месяца
с нуля
Старт 26 декабря
профессия
Программирование на Java, Разработка веб-приложений и микросервисов используя Spring Boot, проектирование REST API
10 месяцев
с нуля
Старт 26 декабря
профессия
новый
Google таблицы, SQL, Python, Superset, Tableau, Pandas, визуализация данных, Anaconda, Jupyter Notebook, A/B-тесты, ROI
9 месяцев
с нуля
Старт 26 декабря
профессия
Программирование на PHP, Разработка веб-приложений и сервисов используя Laravel, проектирование и реализация REST API
10 месяцев
с нуля
Старт 26 декабря
профессия
Программирование на Ruby, Разработка веб-приложений и сервисов используя Rails, проектирование и реализация REST API
5 месяцев
c опытом
Старт 26 декабря
профессия
Программирование на JavaScript в браузере и на сервере (Node.js), разработка бекендов на Fastify и фронтенда на React
16 месяцев
с нуля
Старт 26 декабря
профессия
Программирование на JavaScript, разработка веб-приложений, bff и сервисов используя Fastify, проектирование REST API
10 месяцев
с нуля
Старт 26 декабря
профессия
новый
Git, JavaScript, Playwright, бэкенд-тесты, юнит-тесты, API-тесты, UI-тесты, Github Actions, HTTP/HTTPS, API, Docker, SQL
8 месяцев
c опытом
Старт 26 декабря