Агенція вебдизайну


Передісторія

Наша дизайнерська компанія переважно працювала з CSS-трансформаціями, щоб створювати вебсторінки. Після деяких обговорень ми вирішили почати використовувати JavaScript, щоб виконувати частину обчислень динамічно. Деякі з наших колег мають менший досвід із JavaScript, тож ми вирішуємо використати замикання, щоб створити трансформацію, яку можна використовувати повторно, для пар координат {x, y}.

Завдання

  • Створіть функцію, аргументи якої використовуються як замикання у функції, що повертається.

    • Функція для двовимірного переміщення, де зовнішня функція задає величину переміщення, а функція, що повертається, приймає координати x, y і повертає переміщені координати.
    • Функція для двовимірного масштабування, де зовнішня функція задає величину масштабування, а функція, що повертається, приймає координати x, y і повертає переміщені координати.
    • Функція, яка повертає функцію, що компонує дві функції, по суті функцію для g(f(x))
  • Створіть функцію, яка мемоїзує іншу функцію.

Реалізації