Web Programming/JavaScript

[JavaScript] ν™”μ‚΄ν‘œ ν•¨μˆ˜(Arrow Function) κΈ°λ³Έ μš©λ²• 정리

Haren 2022. 11. 10. 11:07


🧐 μ™œ κ°‘μžκΈ° JavaScript ν¬μŠ€νŒ…μ„ ν•˜λ‚˜μš”?

μ›Ή FE κ°œλ°œμžκ°€ 되고 싢은데, JSλ₯Ό ν¬ν•¨ν•˜μ—¬ ν•„μš”ν•œ κΈ°μˆ λ“€μ— λŒ€ν•œ μ „λ°˜μ μΈ ν•™μŠ΅ μˆ˜μ€€μ΄ λΆ€μ‘±ν•˜λ‹€λŠ” 생각이 λ“€μ—ˆλ‹€. κ·Έλž˜μ„œ 유데미, 코세라 λ“±λ“±... ν•™μŠ΅μ„ 더 ν•  수 μžˆλŠ” 길을 λͺ¨μƒ‰μ„ ν•˜λ‹€κ°€ μœ λ°λ―Έμ—μ„œ μ•„λž˜μ˜ κ°•μ˜λ₯Ό κ΅¬λ§€ν•˜μ—¬ λ“£κΈ° μ‹œμž‘ν–ˆλ‹€.

 

γ€ν•œκΈ€μžλ§‰γ€‘ React μ™„λ²½ κ°€μ΄λ“œ with Redux, Next.js, TypeScript

JavascriptλΆ€ν„° μ›Ή μ–΄ν”Œλ¦¬μΌ€μ΄μ…˜ λ°°ν¬κΉŒμ§€, React와 ν”„λ‘ νŠΈμ—”λ“œ μ΅œμ‹  κΈ°μˆ μ„ κ°€μž₯ 쉽고 ν™•μ‹€ν•˜κ²Œ λ°°μš°λŠ” 법

www.udemy.com

λ‚˜λ¦„λŒ€λ‘œμ˜ λ‚΄μ‹€ 닀지기라고 봐야겠닀. μ•„λ¬΄νŠΌ κ·Έλž˜μ„œ 이 κ°•μ˜μ˜ μ„Ήμ…˜ 쀑 JSλ₯Ό 짧게 λ³΅μŠ΅ν•˜λŠ” μ„Ήμ…˜μ΄ μžˆλŠ”λ°, κ·Έ μ„Ήμ…˜μ˜ κ°•μ˜λ₯Ό λ“€μœΌλ©΄μ„œ μƒκΈ°μ‹œν‚¨ ES6 문법듀 쀑에 정리해야겠닀 싢은 것듀은 정리해놓고 두고두고 봐야겠닀 μƒκ°ν–ˆλ‹€. κ·Έλž˜μ„œ 첫 JS 곡뢀 μ •λ¦¬λŠ” ES6의 μ΅œμ‹  문법 쀑에 ν•˜λ‚˜μΈ ν™”μ‚΄ν‘œ ν•¨μˆ˜ (Arrow Function)에 λŒ€ν•΄μ„œ 정리해보렀고 ν•œλ‹€.

 


πŸ‘‰ ν™”μ‚΄ν‘œ ν•¨μˆ˜

ν™”μ‚΄ν‘œ ν•¨μˆ˜λŠ” JSμ—μ„œ ν•¨μˆ˜λ₯Ό μ„ μ–Έν•˜κ³  μ •μ˜ν•  λ•Œ μ‚¬μš©ν•˜λ˜ 전톡적인 ν‚€μ›Œλ“œμΈ function λŒ€μ‹  μ‚¬μš©ν•  수 μžˆλŠ” 문법이닀.

ν•˜μ§€λ§Œ λͺ¨λ“  μƒν™©μ—μ„œ μ‚¬μš©ν•  수 μ—†κ³  μ œν•œμ μΈ μƒν™©μ—μ„œ μ‚¬μš©ν•  수 μžˆλ‹€.

 

κ°•μ˜μ— λ”°λ₯΄λ©΄ .this ν‚€μ›Œλ“œλ₯Ό μ’€ 더 μ•ˆμ •μ μœΌλ‘œ μ‚¬μš©ν•  수 μžˆλ‹€κ³  λ“€μ—ˆκ³ , MDN에 λ”°λ₯΄λ©΄ ν™”μ‚΄ν‘œ ν•¨μˆ˜μ˜ νŠΉμ§•μ€ λ‹€μŒκ³Ό κ°™λ‹€.

  • thisλ‚˜ super에 λŒ€ν•œ 바인딩이 μ—†κ³ , methods둜 μ‚¬μš©λ  수 μ—†μŠ΅λ‹ˆλ‹€.
  • new.target ν‚€μ›Œλ“œκ°€ μ—†μŠ΅λ‹ˆλ‹€.
  • 일반적으둜 μŠ€μ½”ν”„λ₯Ό μ§€μ •ν•  λ•Œ μ‚¬μš©ν•˜λŠ” call, apply, bind methodsλ₯Ό μ΄μš©ν•  수 μ—†μŠ΅λ‹ˆλ‹€.
  • μƒμ„±μž(Constructor) 둜 μ‚¬μš©ν•  수 μ—†μŠ΅λ‹ˆλ‹€.
  • yield ν™”μ‚΄ν‘œ ν•¨μˆ˜ λ‚΄λΆ€μ—μ„œ μ‚¬μš©ν•  수 μ—†μŠ΅λ‹ˆλ‹€.

β–² function ν‚€μ›Œλ“œλ₯Ό ν™œμš©ν•œ ν•¨μˆ˜ μ„ μ–Έ 및 μ •μ˜.
β–² μœ„μ˜ ν•¨μˆ˜λ₯Ό ν™”μ‚΄ν‘œ ν•¨μˆ˜λ‘œ λ™μΌν•œ μž‘μ—…μ„ μˆ˜ν–‰ν•˜λ„λ‘ λ³€κ²½ν•œ 예.

πŸ‘‰ ν™”μ‚΄ν‘œ ν•¨μˆ˜μ˜ 기본적인 μš©λ²•

기본적인 μš©λ²•μ€ μœ„μ™€ κ°™λ‹€. κ³ κΈ‰ μš©λ²•λ„ 있고, .this 바인딩 λ“± λ‹€μ–‘ν•œ νŠΉμ§•λ“€μ΄ μžˆμ§€λ§Œ, 이번 ν¬μŠ€νŒ…μ€ κΈ°λ³Έ μš©λ²•μ— κ΄€ν•œ ν¬μŠ€νŒ…μ΄λ―€λ‘œ, κΈ°νšŒκ°€ λ‹Ώκ³  λ‚΄κ°€ μΆ©λΆ„νžˆ 이해λ₯Ό ν–ˆλ‹€λ©΄ 좔후에 ν¬μŠ€νŒ…μ„ ν•΄μ„œ 정리λ₯Ό 해놓도둝 ν•˜κ² λ‹€. 

 


πŸ‘€ 마치며

μ΄λ²ˆμ— κ°•μ˜λ₯Ό λ“£κ³ , MDN 등을 λ’€μ§€λ©° κΈ°λ³ΈκΈ°λ₯Ό λ‹€μ§€κΈ° μœ„ν•œ 곡뢀λ₯Ό ν•˜λŠ” 쀑인데, μ›Ή FE κ°œλ°œμžκ°€ 되고 μ‹Άλ‹€λŠ” λ§ˆμŒμ— λΉ„ν•΄ JS의 기본적인 λΆ€λΆ„μ‘°μ°¨ λͺ¨λ₯΄κ³  μžˆλ‹€λŠ” ν˜„μ‹€μ„ μ•Œ 수 μžˆμ—ˆλ‹€. μž…λ§Œ μ‚΄μ•„κ°€μ§€κ³ μ„œλŠ”.... κ·Έλž˜μ„œ μ•žμœΌλ‘œλŠ” μ΄λ ‡κ²Œ ν•˜λ‚˜μ”© μƒˆλ‘œμš΄κ±Έ μ•Œκ±°λ‚˜ ν™•μ‹€νžˆ λ³΅μŠ΅μ„ ν•œ κ²½μš°μ—λŠ” λΈ”λ‘œκ·Έμ— μ •λ¦¬ν•΄μ„œ 곡뢀λ₯Ό ν–ˆλ‹€λŠ” 기둝을 남기고, ν•„μš”ν•  λ•Œ λ‚΄κ°€ 과거의 λ‚˜μ˜ 생각을 μ•Œ 수 μžˆλ„λ‘ ν•  생각이닀. 이제 정말 μ—΄μ‹¬νžˆ ν•΄μ•Όν•˜λŠ”λ°...

 

ν˜Ήμ‹œλΌλ„ 이 ν¬μŠ€νŒ…μ˜ λ‚΄μš©μ΄ λ¬Έμ œκ°€ μžˆλ‹€λ©΄ λŒ“κΈ€λ‘œ λ§μ”€ν•΄μ£Όμ‹œλ©΄ κ°μ‚¬ν•˜κ² μŠ΅λ‹ˆλ‹€ :)


πŸ‘€ μ°Έκ³  자료

 

ν™”μ‚΄ν‘œ ν•¨μˆ˜ - JavaScript | MDN

ν™”μ‚΄ν‘œ ν•¨μˆ˜ ν‘œν˜„(arrow function expression)은 전톡적인 ν•¨μˆ˜ν‘œν˜„(function)의 κ°„νŽΈν•œ λŒ€μ•ˆμž…λ‹ˆλ‹€. ν•˜μ§€λ§Œ, ν™”μ‚΄ν‘œ ν•¨μˆ˜λŠ” λͺ‡ κ°€μ§€ μ œν•œμ μ΄ 있고 λͺ¨λ“  상황에 μ‚¬μš©ν•  μˆ˜λŠ” μ—†μŠ΅λ‹ˆλ‹€.

developer.mozilla.org