study/JavaScript🌟

[JavaScript] μžλ°”μŠ€ν¬λ¦½νŠΈ ν•¨μˆ˜ 선언식과 ν•¨μˆ˜ ν‘œν˜„μ‹

cowboysj 2023. 10. 1. 21:34

UMC 2μ£Όμ°¨ μ›Ή μŠ€ν„°λ””λ₯Ό ν•˜λ©΄μ„œ 읡λͺ…ν•¨μˆ˜κ°€ ν•¨μˆ˜ ν‘œν˜„μ‹μ΄κ³  κΈ°λͺ…ν•¨μˆ˜κ°€ ν•¨μˆ˜ 선언식인 κ±Έ 처음 μ•Œκ²Œ λ˜μ—ˆλ‹€!!

κ·Έ μ „κΉŒμ§€λŠ” κ·Έλƒ₯ ν•¨μˆ˜ 이름을 μ§€μ •ν•˜μ§€λ§Œ μ•ŠμœΌλ©΄ 읡λͺ…ν•¨μˆ˜μΈ 쀄 μ•Œμ•˜λŠ”λ° 읡λͺ…ν•¨μˆ˜λ„ ν•¨μˆ˜ 이름이 μžˆμ„ 수 μžˆλ‹€λŠ” 것도 μ•Œκ²Œ λ˜μ—ˆλ‹€. ν•¨μˆ˜ 이름이 μžˆλŠ” 읡λͺ…ν•¨μˆ˜ λ•Œλ¬Έμ— 읡λͺ…ν•¨μˆ˜ κΈ°λͺ…ν•¨μˆ˜ κ°œλ…μ΄ μ’€ 더 ν—·κ°ˆλ Έλ˜ 것 κ°™λ‹€.

 

읡λͺ…ν•¨μˆ˜μ™€ κΈ°λͺ…ν•¨μˆ˜ 차이

  • ν•¨μˆ˜ 선언문은 무쑰건 ν•¨μˆ˜λͺ… μ •μ˜λ˜μ–΄μ•Ό ν•˜κ³ , ν•¨μˆ˜ ν‘œν˜„μ‹μ€ 없어도 λœλ‹€.
  • ν•¨μˆ˜ 선언문은 ν•¨μˆ˜ 전체가 ν˜Έμ΄μŠ€νŒ… 되고, 호좜 ν•¨μˆ˜ ν‘œν˜„μ‹μ€ λ³€μˆ˜μ˜ μ„ μ–Έλ¬Έλ§Œ ν˜Έμ΄μŠ€νŒ…λœλ‹€ => ν•¨μˆ˜ 선언식은 ν•¨μˆ˜ μ„ μ–Έ μ½”λ“œ μœ„μ—μ„œ 호좜 O, ν•¨μˆ˜ ν‘œν˜„μ‹μ€ X
  • ν•¨μˆ˜ ν‘œν˜„μ‹μ€ ν•¨μˆ˜λ₯Ό λ³€μˆ˜μ— ν• λ‹Ήν•˜λŠ” κ°œλ…μ΄λ‹€. λ”°λΌμ„œ λ³€μˆ˜ μŠ€μ½”ν”„ κ·œμΉ™μ„ λ”°λ₯Έλ‹€.(λ³€μˆ˜κ°€ μ„ μ–Έλœ μŠ€μ½”ν”„μ—μ„œλ§Œ μ‚¬μš© κ°€λŠ₯)

ν•¨μˆ˜ ν‘œν˜„μ‹

  • 읡λͺ… ν•¨μˆ˜ ν‘œν˜„μ‹ (Anonymous Function Expression)
const letter = function () {
  //...
}
  • λͺ…λͺ… ν•¨μˆ˜ ν‘œν˜„μ‹ (Named Function Expression) 
const letter = function name() {
  // ...
}
  • μ¦‰μ‹œ μ‹€ν–‰ ν•¨μˆ˜ ν‘œν˜„μ‹ (Immediately-invoked Expression)
const letter = (function () {
  //...
})()
  • ν™”μ‚΄ν‘œ ν•¨μˆ˜ ν‘œν˜„μ‹ (Arrow Function)
const letter = () => {
  //...
}

 

 

ν•¨μˆ˜ μž¬μ‚¬μš©μ„±μ„ μƒκ°ν•˜λ©΄ ν•¨μˆ˜ 선언식 μ“°κ³ , μž¬μ‚¬μš© ν•„μš” μ—†κ³  λ°”λ‘œ μ‹€ν–‰λ˜λŠ” 게 더 μ€‘μš”ν•  λ•Œ ν•¨μˆ˜ ν‘œν˜„μ‹ μ‚¬μš©ν•˜λ©΄ λœλ‹€.

728x90