Функціональне програмування у JavaScript

Курс можно начать проходить в любое время

on demand

Сложность курса: middle

Старт курса

09
грудня2015
2015-12-09 2015-12-09 Europe/Kiev Функціональне програмування у JavaScript --- Smartme University info@smartme.university

Опис

Функціональне програмування сьогодні, як, втім, і завжди, є невід’ємною частиною розробки додатків різного характеру. В JavaScript функціональний стиль програмування був закладений ще під час народження. Як дитина отримує колір очей від одного зі своїх батьків, так і JavaScript отримав цю парадигму в спадок від мови з гордою назвою Scheme.

На цьому курсі ми заглибимось у теорію функціонального програмування, навчимось писати більш абстрактний код без класів і прототипів.

Цей курс розрахований на програмістів початкового та середнього рівня, які хочуть піти трохи далі, ніж розробка веб-пропозицій на популярних фреймворках і бібліотеках.

У Javascript функціональна частина була закладена ще при його створенні, походить вона від мови Scheme і є однією з найважливіших частин JavaScript. Замикання, Анонімні функції, Функції вищого порядку – все це використовується повсякденно в роботі JS-програміста, і найчастіше – без усвідомлення всієї потужності цих інструментів. ФП на сьогодні набирає чергового витку популярності. Про це свідчить поява таких бібліотек, як Immutable, Redux, Lodash, Rambda, а також мов Elm-lang, PureScript, Elexir і багатьох інших.

Конкретно цей курс вам розповість про правильну функціональну декомпозицію, про поняття у функціональних мовах, про їх відмінність і взаємодію. А також про те, як це усе застосовувати в js.

  1. Базові принципи функціонального програмування:
    1. Функції як одиниці абстракції.
    2. Функції як опис поведінки.
    3. Дані як абстракція.
  2. Applicative programming.
    1. Applicative programming.
  3. Closures.
    1. Using Closures.
    2. Closures as Abstractions.
  4. Типи функцій.
    1. Higher order functions.
    2. Function-Building Functions.
    3. Currying.
    4. Partial Applications.
  5. Purity, Immutability.
    1. Рure and impure functional programming.
    2. Іммутабельність.
    3. Мутація об’єктів.
    4. Контроль мутацій на рівні функцій.