ウェブデザイン会社


ストーリー

自分のデザイン会社では、これまで主にCSSの変形を使ってウェブページを作ってきました。話し合いのすえ、計算の一部を動的に行うためにJavaScriptを使い始めることになりました。チームメイトの中にはJavaScriptの経験が浅い人もいるので、{x, y}の座標のペアに対して再利用できる変換を、クロージャを使って作ることにしました。

タスク

  • 返される関数の中で、引数がクロージャとして使われる関数を作ります。

    • 2次元の平行移動を行う関数です。外側の関数で移動量を指定し、返される関数がx座標とy座標を受け取って、変換後の座標を返します。
    • 2次元の拡大縮小を行う関数です。外側の関数で拡大縮小の量を指定し、返される関数がx座標とy座標を受け取って、変換後の座標を返します。
    • 2つの関数を合成する関数を返す関数です。実質的にはg(f(x))を行う関数です。
  • 関数をメモ化する関数を作ります。

実装