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

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
Рекомендуемые программы
профессия
от 6 300 ₽ в месяц
Разработка фронтенд-компонентов для веб-приложений
10 месяцев
с нуля
Старт 25 апреля
профессия
от 6 300 ₽ в месяц
Разработка веб-приложений на Django
10 месяцев
с нуля
Старт 25 апреля
профессия
от 6 183 ₽ в месяц
Ручное тестирование веб-приложений
4 месяца
с нуля
Старт 25 апреля
профессия
от 6 300 ₽ в месяц
Разработка приложений на языке Java
10 месяцев
с нуля
Старт 25 апреля
профессия
от 5 025 ₽ в месяц
новый
Сбор, анализ и интерпретация данных
9 месяцев
с нуля
Старт 25 апреля
профессия
от 6 300 ₽ в месяц
Разработка веб-приложений на Laravel
10 месяцев
с нуля
Старт 25 апреля
профессия
от 5 840 ₽ в месяц
Создание веб-приложений со скоростью света
5 месяцев
c опытом
Старт 25 апреля
профессия
от 9 900 ₽ в месяц
Разработка фронтенд- и бэкенд-компонентов для веб-приложений
16 месяцев
с нуля
Старт 25 апреля
профессия
от 6 300 ₽ в месяц
Разработка бэкенд-компонентов для веб-приложений
10 месяцев
с нуля
Старт 25 апреля
профессия
новый
Автоматизированное тестирование веб-приложений на JavaScript
8 месяцев
c опытом
в разработке
Старт 25 апреля
профессия
Верстка с использованием последних стандартов CSS
5 месяцев
с нуля
Старт в любое время