Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Functional Programming Applied in JS

Sponsored · Your Podcast. Everywhere. Effortlessly. Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
Avatar for Tak Yanagida Tak Yanagida
December 22, 2013

Functional Programming Applied in JS

「JSで実際に役立った関数型プログラミング」
jsCafe #17で発表しました。
関数型プログラミングの考え方を使うことで、JavaScriptのコードがすっきり書けた事例を紹介。

Avatar for Tak Yanagida

Tak Yanagida

December 22, 2013
Tweet

More Decks by Tak Yanagida

Other Decks in Programming

Transcript

  1. 自己紹介補足 • 古めのエンジニア  コンピュータ歴約30年  Linuxは0.99から • 実はデューク大学のMBA •

    ITエンジニアのための英語読解講 座はじめました ティム・クックと一緒
  2. 自己紹介補足 • 古めのエンジニア  コンピュータ歴約30年  Linuxは0.99から • 実はデューク大学のMBA •

    ITエンジニアのための英語読解講 座はじめました ティム・クックと一緒 英語ドキュメントの分からない 箇所があったら解説します http://d.hatena.ne.jp/casualstartup/20131117/it_english_grammar
  3. f f f f 関数脳の場合 1 ・・・ 2 3 100

    1 2 Fizz Buzz ・fは、数字を1つ受け取って、FizzやBuzzを返す関数
  4. f f f f 関数脳の場合 1 ・・・ 2 3 100

    1 2 Fizz Buzz ・fは、数字を1つ受け取って、FizzやBuzzを返す関数 ・配列の各要素に、関数を適用する操作が”map”
  5. JavaScriptで書く var f = function (x) { if (x %

    15 === 0) return 'FizzBuzz'; if (x % 5 === 0) return 'Buzz'; if (x % 3 === 0 ) return 'Fizz'; return x; } [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15].map(f);
  6. JavaScriptで書く var f = function (x) { if (x %

    15 === 0) return 'FizzBuzz'; if (x % 5 === 0) return 'Buzz'; if (x % 3 === 0 ) return 'Fizz'; return x; } [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15].map(f); ECMA Script 5.1以降