До 30 ноября

Скидки до 81 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
Рекомендуемые программы
профессия
Осваивайте разработку веб-страниц, оживляйте дизайн макетов, публикуйте сайты и приложения. Отслеживайте ошибки в интерфейсе и устраняйте их
10 месяцев
с нуля
Старт 28 ноября
профессия
Обучитесь разработке бэкенда сайтов и веб-приложений — серверной части, которая отвечает за логику и базы данных
10 месяцев
с нуля
Старт 28 ноября
профессия
Выполняйте ручное тестирование веб-приложений, находите ошибки в продукте. Узнайте все о тест-дизайне.
4 месяца
с нуля
Старт 28 ноября
профессия
Научитесь разработке веб-приложений, сайтов и программного обеспечения на языке Java, программируйте и используйте структуры данных
10 месяцев
с нуля
Старт 28 ноября
профессия
новый
Собирайте, анализируйте и интерпретируйте данные, улучшайте бизнес-процессы и продукт компании. Обучитесь работе с библиотеками Python
9 месяцев
с нуля
Старт 28 ноября
профессия
Занимайтесь созданием сайтов, веб-приложений, сервисов и их интеграцией с внутренними бизнес-системами на бекенд-языке PHP
10 месяцев
с нуля
Старт 28 ноября
профессия
Создание веб-приложений со скоростью света
5 месяцев
c опытом
Старт 28 ноября
профессия
Обучитесь разработке визуальной части сайта — фронтенда, а также реализации серверной — бэкенда. Освойте HTML, CSS, JavaScript
16 месяцев
с нуля
Старт 28 ноября
профессия
Разработка бэкенд-компонентов для веб-приложений
10 месяцев
с нуля
Старт 28 ноября
профессия
новый
Организовывайте процесс автоматизации тестирования на проекте, обучитесь языку программирования JavaScript, начните управлять процессом тестирования
8 месяцев
c опытом
Старт 28 ноября