λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°

Frontend Dev/πŸ₯ μ½”λ“œμŠ€ν…Œμ΄μΈ  FE λΆ€νŠΈμΊ ν”„

Section2 Unit1 JavaScript κ³ μ°¨ ν•¨μˆ˜

λ°˜μ‘ν˜•


Section2 Unit1 [JavaScript] κ³ μ°¨ ν•¨μˆ˜

 

πŸ“Œ Chapter1. κ³ μ°¨ ν•¨μˆ˜

μžλ°”μŠ€ν¬λ¦½νŠΈμ—μ„œ ν•¨μˆ˜λŠ” 일급 객체둜 μ·¨κΈ‰λ˜λ―€λ‘œ λ‹€λ₯Έ ν•¨μˆ˜μ— 전달될 수 μžˆλ‹€. ν•¨μˆ˜λŠ” λ³€μˆ˜μ— 할당될 수 있고, 객체 μ†μ„±μœΌλ‘œ μ €μž₯될 수 μžˆλ‹€.

κ³ μ°¨ ν•¨μˆ˜λŠ” ν•¨μˆ˜λ₯Ό μ „λ‹¬μΈμžλ‘œ 받을 수 있고, ν•¨μˆ˜λ₯Ό 리턴할 수 μžˆλŠ” ν•¨μˆ˜μ΄λ‹€.

 

 ↓ κ³ μ°¨ν•¨μˆ˜ κ°œλ…μ΄ μ’€ μ–΄λ ΅λ‹€κ³  μƒκ°μ΄λ˜μ–΄ λ³΅μŠ΅ν•˜λ©΄μ„œ κ³΅λΆ€ν•œ λ‚΄μš©μ„ μ •λ¦¬ν•΄λ³΄μ•˜λ‹€.

 

κ³ μ°¨ ν•¨μˆ˜(higher order function)λž€ λ¬΄μ—‡μΌκΉŒ?

πŸ‘Ύ κ³ μ°¨ν•¨μˆ˜(higher order function)λž€? κ³ μ°¨ ν•¨μˆ˜λŠ” β‘  ν•¨μˆ˜λ₯Ό μ „λ‹¬μΈμž(argument)둜 받을 수 있고, β‘‘ ν•¨μˆ˜λ₯Ό 리턴할 수 μžˆλŠ” ν•¨μˆ˜μ΄λ‹€. βœ”οΈ 1. λ‹€λ₯Έ ν•¨μˆ˜λ₯Ό 인자둜 λ°›λŠ” 경우 λ‹€λ₯Έ ν•¨μˆ˜(caller)의 전달인

fay-story.com

 

πŸ“Œ Chapter2. λ‚΄μž₯ κ³ μ°¨ ν•¨μˆ˜

μžλ°”μŠ€ν¬λ¦½νŠΈμ—λŠ” λ‹€μ–‘ν•œ λ‚΄μž₯ κ³ μ°¨ ν•¨μˆ˜κ°€ 있으며, λ‚΄μž₯ κ³ μ°¨ ν•¨μˆ˜λ₯Ό μ‚¬μš©ν•˜λ©΄ μ½”λ“œλ₯Ό κ°„κ²°ν•˜κ³  μœ μ—°ν•˜κ²Œ μž‘μ„±ν•  수 μžˆλ‹€. λŒ€ν‘œμ μΈ κ³ μ°¨ ν•¨μˆ˜ μ€‘μ—λŠ” λ°°μ—΄ λ©”μ„œλ“œλ“€ 쀑 일뢀가 μžˆλ‹€.

map filter reduce forEach sort

 

 μ΄λ²ˆ μœ λ‹›μ—μ„œ filter, map, reduceλ₯Ό ν•™μŠ΅ν–ˆλ‹€. 

 

πŸ“Œ Chapter3. κ³ μ°¨ ν•¨μˆ˜μ˜ μ€‘μš”μ„±

• 좔상화(abstraction) : λ³΅μž‘ν•œ μ–΄λ–€ 것을 μ••μΆ•ν•΄μ„œ ν•΅μ‹¬λ§Œ μΆ”μΆœν•œ μƒνƒœλ‘œ λ§Œλ“œλŠ” 것.

 ν”„λ‘œκ·Έλž¨μ„ μž‘μ„±ν•  λ•Œ, λ°˜λ³΅ν•΄μ„œ μ‚¬μš©ν•˜λŠ” λ‘œμ§μ€ λ³„λ„μ˜ ν•¨μˆ˜λ‘œ μž‘μ„±ν•˜λŠ” 것도 μΆ”μƒν™”μ˜ 사둀이닀. μΆ”μƒν™”μ˜ κ΄€μ μ—μ„œ ν•¨μˆ˜λ₯Ό 바라보면, ν•¨μˆ˜λŠ” 사고(thought)λ˜λŠ” 논리(logic)의 λ¬ΆμŒμ΄λ‹€. 좔상화λ₯Ό μ΄μš©ν•˜λ©΄ λ³΅μž‘ν•œ λ‘œμ§μ„ μ‹ κ²½ 쓰지 μ•Šμ•„λ„ 효율적으둜 값을 얻을 수 μžˆλ‹€.

 ν•¨μˆ˜λ₯Ό 톡해 얻은 좔상화λ₯Ό ν•œ 단계 더 높인 것이 κ³ μ°¨ ν•¨μˆ˜μ΄λ©°, κ³ μ°¨ ν•¨μˆ˜λ₯Ό 톡해 보닀 높은 μˆ˜μ€€(higher order)μ—μ„œ 생각할 수 μžˆλ‹€.

 

 

✏️ μ—°μŠ΅λ¬Έμ œ. κ³ μ°¨ν•¨μˆ˜

 μ—°μŠ΅λ¬Έμ œ μ–΄λ ΅κ±°λ‚˜ 이해가 잘 μ•ˆλ˜λŠ” 뢀뢄듀이 λͺ‡ 개 μžˆμ—ˆλŠ”λ°, λ‚˜μ€‘μ— 진도λ₯Ό λ‚˜κ°€λ©΄μ„œ κ΄€λ ¨ κ°œλ…μ΄ λ‚˜μ˜€λ©΄ λ‹€μ‹œ ν•œ 번 봐야될 것 κ°™λ‹€λŠ” 생각이 λ“€μ—ˆλ‹€. μ§€κΈˆμ€ κ·Έ λ‹€μŒ 진도도 λ‚˜κ°€κ³ , 곡뢀λ₯Ό ν•΄μ•Όν•˜λ‹ˆ 잠깐 패슀


πŸŒ™  였늘의 회고

 μ˜€λŠ˜μ€ 총체적 λ‚œκ΅­μ˜ λ‚ μ΄μ—ˆλ‹€. Section2 λ“€μ–΄κ°€μžλ§ˆμž κ³ μ°¨ν•¨μˆ˜λ₯Ό μ ‘ν–ˆκ³ , κ°œλ… μžμ²΄κ°€ μ–΄λ €μ›Œμ„œ 이해가 잘 λ˜μ§€ μ•Šμ•˜λŠ”λ°, μ½”ν”Œλ¦Ώ λ¬Έμ œλ§ˆμ € μ²˜μŒμ—λŠ” 감이 λ„ˆλ¬΄ μ•ˆμž‘ν˜€μ„œ ν•œμ°Έμ„ ν—€λ§Έλ‹€. λ‹€ν–‰νžˆλ„ κ³ μ°¨ν•¨μˆ˜μ˜ κ°œλ…μ„ λ‹€λ£¨λŠ” κ²ƒλ³΄λ‹€λŠ” λ©”μ„œλ“œλ₯Ό μ‚¬μš©ν•˜λŠ” 뢀뢄듀은 κ·Έλ‚˜λ§ˆ μ΅μˆ™ν•΄μ„œ λ¬Έμ œν’€μ΄λ„ 감이 μž‘νžˆλŠ” λ“― ν–ˆμ—ˆλ‹€. κ·Έλž˜λ„ μ—¬μ „νžˆ μ§„λ„λŠ” μ•„μ£Ό 천천히 λ‚˜κ°”λ‹€. μ˜€ν›„ νŽ˜μ–΄ μ‹œκ°„μ— ν•¨κ»˜ λ¬Έμ œλ„ ν’€κ³  μˆ˜λ‹€λ„..? 😊 재미있고 μœ μ΅ν•œ μ‹œκ°„μ„ λ³΄λƒˆλ‹€. νŽ˜μ–΄ 뢄이 ν™œκΈ°μ°¨κ³ , 적극적인데닀가, μ΄ν•΄ν•œ 것을 말둜 ν‘œν˜„λ„ μž˜ν•˜μ…”μ„œ 곡뢀가 많이 λ˜μ—ˆλ˜ 것 κ°™λ‹€.

 πŸ«  μ˜€λŠ˜μ€ 정말 μΌμ •λŒ€λ‘œ ν•œλ‹€κ³  λ°”λΉ΄λ˜ 것 κ°™λ‹€. μ •κ·œ μˆ˜μ—… μ‹œκ°„ 내에 문제λ₯Ό λ‹€ λͺ»ν’€μ–΄μ„œ μ•Όμžμ—λ„ 당첨됐닀..γ…Žγ…Ž μ΄ν•΄λŠ” ν•˜κ³  풀어야지.. 밀에 집 문제둜 일이 μƒκ²¨μ„œ κ²°κ΅­ 12μ‹œ λ„˜μ–΄μ„œκΉŒμ§€λ„ λ‹€ λͺ»ν‘Όκ±° 싀화인가… 휴

 Section1은 μ΄ˆμ½œλ¦Ώμ΄μ—ˆλ‹€.. μ•„μ£Ό 달닀ꡬ리 ν–ˆλŠ”λ°, μ§€κΈˆλΆ€ν„°κ°€ μ§„μ§œ μ‹œμž‘μΈκ°€ 보닀. μ—΄μ‹¬νžˆ ν•΄μ„œ 쫓아가야지.. 남은 이번 주도 바쁠 것 같은 μ˜ˆμ •μ΄λ‹€.

 

 βž• κ³ μ°¨ν•¨μˆ˜ 문제λ₯Ό λ‹€μŒλ‚  κ²°κ΅­ λ‹€ ν’€μ—ˆλ‹€. μ‹œκ°„μ΄ μ’€ κ±Έλ Έμ§€λ§Œ 레퍼런슀 μ½”λ“œ μ΅œλŒ€ν•œ μ•ˆλ³΄κ³ , 혼자 μƒκ°ν•΄μ„œ ν’€μ–΄ λ‚Ό 수 μžˆμ–΄μ„œ λ‹€ν–‰μ΄λΌλŠ” 생각이 λ“€μ—ˆλ‹€. λ¬Έμ œλŠ” κ²°κ΅­ 많이 ν’€μ–΄ λ³΄λŠ”κ²Œ λ‹΅μ΄λΌλŠ” 말을 듀은 적이 μžˆμ—ˆλ‹€. 잘 ν•˜κ³  싢은데, 잘 λ˜μ§€ μ•Šμ•„ μ§œμ¦λ‚˜κΈ°λ„ ν–ˆμ—ˆμ§€λ§Œ μ΄λ²ˆμ— λ¬Έμ œν’€μ΄λ₯Ό 톡해 filter, map, reduceλŠ” ν™•μ‹€νžˆ μ‚¬μš©ν•  수 μžˆμ„ 것 κ°™λ‹€λŠ” 생각이 λ“€μ—ˆλ‹€. 특히, reduceλŠ” 이둠만 λ΄μ„œλŠ” 감이 잘 μ•ˆμž‘ν˜”λŠ”λ°, 문제λ₯Ό ν’€λ©΄μ„œ κ·Έλž˜λ„ μ’€ ν„°λ“ν•œ 것 κ°™λ‹€ πŸ™‚

λ°˜μ‘ν˜•