Slide 1

Slide 1 text

forϧʔϓΛ௒͑ͯ ౉ลढ़ี ˏcraftgear

Slide 2

Slide 2 text

ߴ֊ؔ਺ͬͯ ͝ଘ஌Ͱ͔͢ʁ

Slide 3

Slide 3 text

ߴ֊ؔ਺ͱ͸ ͨͱ͑͹ɺ

Slide 4

Slide 4 text

ؔ਺ΛҾ਺ʹऔΔ ؔ਺ $('#button').click( e => { console.log(e); } );

Slide 5

Slide 5 text

ؔ਺Λ໭Γ஋ͱ͠ ͯฦؔ͢਺ const createCounter = () => { var number = 0; return () => { number++; return number; }; }

Slide 6

Slide 6 text

Array.map(fn)

Slide 7

Slide 7 text

forϧʔϓͰ͸ͳ ͯ͘mapϝιο υΛ࢖͏ཧ༝

Slide 8

Slide 8 text

ίʔυ ͷ ҙਤ

Slide 9

Slide 9 text

const a = [1,2,3].map(fn)

Slide 10

Slide 10 text

໭Γ஋aͷܕ ͸഑ྻͰɺ
 ཁૉ਺͸̏

Slide 11

Slide 11 text

഑ྻͷ֤ཁૉ ʹରͯ͠fnΛ ࣮ߦ͍ͯ͠Δ

Slide 12

Slide 12 text

ԿΛ΍Γ͍ͨ ͔͸fnͷத਎Λ ಡΊ͹Θ͔Δ

Slide 13

Slide 13 text

Θ͔Γ΍͍͢ ί ʔ υ ɺॏཁɻ

Slide 14

Slide 14 text

ϝϯς͕༰қ ฏ࿨ͳίʔυ ϨϏϡʔ

Slide 15

Slide 15 text

fnΛ੾Γग़ ͯ͠ςετ

Slide 16

Slide 16 text

඼࣭ ޲্

Slide 17

Slide 17 text

UIߏங ʹ΋ศར

Slide 18

Slide 18 text

const dummyTodos = [ { id: 1, title: 'aaaa', done: true }, { id: 2, title: 'aaaa', done: false }, ]; const TodoList = ({ todos }) => (
{todos.map(todo => ( ))}
);

Slide 19

Slide 19 text

map͚ͩ ͡Όͳ͍

Slide 20

Slide 20 text

map(f) filter(f) reduce(f, init) forEach(f) ഑ྻ [n] [n] [n] [n] ໭Γ஋ [n] [<= n] initͱಉܕ ͳ͠

Slide 21

Slide 21 text

some(f) every(f) findIndex(f) find(f) ഑ྻ [n] [n] [n] [n] ໭Γ஋ ਅِ஋ ਅِ஋ ੔਺஋ ཁૉҰͭ

Slide 22

Slide 22 text

࢖༻্ͷ஫ҙ

Slide 23

Slide 23 text

filterʹ౉͢fn͕ฦ͢஋ ͸ਅِ஋Ͱ͋Δ͜ͱ -1͸falseʹͳΒͳ͍

Slide 24

Slide 24 text

[].some [].every ͸ৗʹtrue ʮۭڏʹਅʯ

Slide 25

Slide 25 text

ඇಉظॲཧ͸ Promise.all()Ͱ

Slide 26

Slide 26 text

reduce͸ ΄Ͳ΄Ͳʹ

Slide 27

Slide 27 text

chainingͱ compositionͰ ֦͕Δੈք

Slide 28

Slide 28 text

const double = v => v * 2 const over5 = v => v > 5 const a = [1,2,3] .map(double) .filter(over5)

Slide 29

Slide 29 text

import * as R from 'ramda'; const doubleOver5 = R.compose( R.filter(over5), R.map(double) );

Slide 30

Slide 30 text

const b = doubleOver5([2, 3, 4]); const c = doubleOver5( {a: 1, b: 2, c: 3} );

Slide 31

Slide 31 text

࣮ԋ

Slide 32

Slide 32 text

Thank You!