Содержание

  1. JavaScript и Java
    1. Появление и история JavaScript/ECMAScript
    2. Связь с Java
    3. Различия с Java
    4. Strict mode
  2. Переменные и типы
    1. Объявление переменных
    2. Типы значений
    3. Массивы
  3. Простые функции
    1. Синтаксис объвления
    2. Передача аргументов
    3. Способы вызова
  4. Функции высших порядков
    1. Примеры
      1. Сортировка
      2. Компараторы
      3. Составные компараторы
      4. Функциональные интерфейсы
    2. Комбинаторы
      1. foldLeft, foldRight
      2. map
      3. Композиция
      4. Карринг

Домашнее задание 9. Функциональные выражения на JavaScript

Функциональные выражения на JavaScript
  1. Разработайте функции cnst, variable, add, subtract, multiply, divide, negate для вычисления выражений с одной переменной.
  2. Функции должны позволять производить вычисления вида:
                    var expr = subtract(
                        multiply(
                            cnst(2),
                            variable("x")
                        ),
                        cnst(3)
                    );
                    println(expr(5));
                
    При вычислении такого выражения вместо каждой переменной подставляется значение, переданное в качестве параметра функции expr (на данном этапе имена переменных игнорируются). Таким образом, результатом вычисления приведенного примера должно стать число 7.
  3. Тестовая программа должна вычислять выражение x2−2x+1, для x от 0 до 10.
  4. Усложненный вариант. Требуется написать функцию parse, осуществляющую разбор выражений, записанных в обратной польской записи. Например, результатом
    parse("x x 2 - * x * 1 +")(5)
    должно быть число 76.
  5. При выполнение задания следует обратить внимание на:
    • Применение функций высшего порядка.
    • Выделение общего кода для бинарных операций.

Библиография

  1.  ECMA-262 ECMAScript Language Specification 5.1 edition
  2.  Перевод ECMA-262 5.1 edition
  3.  Современный учебник JavaScript
  4. Д. Флэнаган JavaScript. Подробное руководство, 5 издание