Все статьи | Блог студента

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

Эта статья написана нашим студентом. Мнение пользователей иногда может не совпадать с точкой зрения Хекслета
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 декабря 8 месяцев
Иконка программы Python-разработчик
Профессия
Разработка веб-приложений на Django
1 декабря 8 месяцев
Иконка программы PHP-разработчик
Профессия
Разработка веб-приложений на Laravel
1 декабря 8 месяцев
Иконка программы Node.js-разработчик
Профессия
Разработка бэкенд-компонентов веб-приложений
1 декабря 8 месяцев
Иконка программы Верстальщик
Профессия
Вёрстка с использованием последних стандартов CSS
в любое время 5 месяцев
Иконка программы Java-разработчик
Профессия
Разработка приложений на языке Java
1 декабря 10 месяцев
Иконка программы Разработчик на Ruby on Rails
Профессия
Новый
Создает веб-приложения со скоростью света
1 декабря 5 месяцев