Functor - ChoDragon9/posts GitHub Wiki

Functor

  • ์‚ฌ์šฉ์ž๊ฐ€ ๋งคํ•‘ํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐ์ดํ„ฐ ํƒ€์ž…
  • ๋‚ด๋ถ€์˜ ๊ฐ’์— ํ•จ์ˆ˜๋ฅผ ์ ์šฉ๋ผ๋Š” ์ธํ„ฐํŽ˜์ด์Šค๊ฐ€ ์žˆ๋Š” ์ปจํ…Œ์ด๋„ˆ
  • Mappable ํ•œ ๋ฌด์–ธ๊ฐ€๋กœ ์ƒ๊ฐํ•˜๋ฉด ๋จ
  • ๋™์ผํ•œ ํ˜•์„ ์œ ์ง€ํ•œ์ฒด ์ž…๋ ฅ์—์„œ ์ถœ๋ ฅ์œผ๋กœ ๋งคํ•‘ํ•˜๋Š” ๋ฉ”์†Œ๋“œ(.map())๋ฅผ ๊ฐ€์ง„๋‹ค
  • javascript์—์„œ๋Š” Array๊ฐ€ ์ข‹์€ ์˜ˆ

Category์˜ ๋‘๊ฐ€์ง€ ์ค‘์š”ํ•œ ์†์„ฑ

  1. ํ•ญ๋“ฑ : Functor์— ํ•ญ๋“ฑํ•จ์ˆ˜๋ฅผ ๋งคํ•‘์‹œ ๋™์ผํ•œ Functor๊ฐ€ ๋‚˜์™€์•ผํ•จ
  2. ํ•ฉ์„ฑ : F.map(x=>f(g(x)))๋Š” F.map(g).map(f)์™€ ๋™์ผํ•ด์•ผ ํ•œ๋‹ค.