λ³€μˆ˜(πŸ”‘Study Keyword)

μ΄ν•˜μ˜Β·2022λ…„ 3μ›” 13일
0

JavaScript

λͺ©λ‘ 보기
1/5
post-thumbnail

✍🏻 λ³€μˆ˜κ°€ ν•„μš”ν•œ 이유

λ³€μˆ˜λŠ” μ½”λ“œμ˜ μž¬ν™œμš©μ„±κ³Ό 가독성을 λ†’μ—¬μ£Όκ³ , 쀑볡을 μ œκ±°ν•˜μ—¬ μœ μ§€λ³΄μˆ˜κ°€ μš©μ΄ν•˜λ‹€λŠ” μ μ—μ„œ λ³€μˆ˜μ˜ μ‚¬μš©μ΄μœ κ°€ μ’€ 더 λͺ…확해진닀고 λ³Ό 수 μžˆλ‹€.

🌎 예λ₯Ό λ“€μ–΄μ„œ μ½”λ“œκ°€ 5μ€„μ΄λΌκ³ ν•˜λ©΄ λ³€κ²½ν•˜κ³  싢은 데이터값이 있으면 μ°ΎκΈ° μ‰¬μšΈκ²ƒμ΄κ³  λ³€κ²½ν•˜κΈ°λ„ μ‰¬μšΈκ²ƒμ΄λ‹€ ν•˜μ§€λ§Œ μ½”λ“œκ°€ 10쀄,100쀄,1000쀄이라면 μ‰½κ²Œ 찾을 수 μžˆμ„κΉŒ? μ–΄λ €μšΈκ²ƒμ΄λ‹€.. κ·Έλž˜μ„œ λ³€μˆ˜κ°€ ν•„μš”ν•œκ²ƒμ΄λ‹€!

βœπŸ»Β λ³€μˆ˜λ₯Ό μ„ μ–Έν•˜λŠ” λ°©λ²•μœΌλ‘œλŠ” 3가지가 μžˆλ‹€

  1. var

    var λ³€μˆ˜λͺ… = 데이터값
  1. let

    let λ³€μˆ˜λͺ… = 데이터값
  1. const
    const λ³€μˆ˜λͺ… = 데이터값

✍🏻 각 λ³€μˆ˜λ“€ (var,let,const)의 차이점듀이 μžˆλ‹€

β™£οΈŽ 쀑볡선언 κ°€λŠ₯ μ—¬λΆ€

  1. var : 쀑볡선언 κ°€λŠ₯
    (μ€‘λ³΅ν•΄μ„œ μ„ μ–Έ(+μ΄ˆκΈ°ν™”)κ°€ κ°€λŠ₯ν•˜λ‹€ 이경우 λ§ˆμ§€λ§‰ ν• λ‹Ήλœ 값이 λ³€μˆ˜μ— μ €μž₯λœλ‹€.)
  1. let,const : 쀑볡선언 λΆˆκ°€λŠ₯
    (이미 μ„ μ–Έν•œ λ³€μˆ˜λ₯Ό λ‹€μ‹œ μ„ μ–Έν•  경우,μ—λŸ¬λ°œμƒ)

β™£οΈŽ μž¬ν• λ‹Ή κ°€λŠ₯μ—¬λΆ€

  1. var, let κ°’μ˜ μž¬ν• λ‹Ήμ΄ κ°€λŠ₯
    (λ³€μˆ˜ μ„ μ–Έ 및 μ΄ˆκΈ°ν™” 이후에 λ°˜λ³΅ν•΄μ„œ 데이터값을 λ‹€λ₯Έ κ°’μœΌλ‘œ μž¬ν• λ‹Ή ν•  수 μžˆλ‹€.
  1. const κ°’μ˜ μž¬ν• λ‹Ήμ΄ λΆˆκ°€λŠ₯
    (constλŠ” μƒμˆ˜λ₯Ό μ„ μ–Έν•œ ν‚€μ›Œλ“œ, 처음 μ„ μ–Έν•  λ•Œ λ°˜λ“œμ‹œ μ΄ˆκΈ°ν™”(κ°’ ν• λ‹Ή)λ₯Ό ν•΄μ€˜μ•Ό ν•œλ‹€.

β™£οΈŽ μŠ€μ½”ν”„(scope)

μœ νš¨ν•œ μ°Έμ‘° λ²”μœ„
예λ₯Ό λ“€μ–΄, ν•¨μˆ˜ λ‚΄λΆ€μ—μ„œ μ„ μ–Έλœ λ³€μˆ˜λŠ” ν•¨μˆ˜ λ‚΄λΆ€μ—μ„œλ§Œ μ°Έμ‘°κ°€λŠ₯ν•˜λ‹€. 이경우 λ³€μˆ˜μ˜ μŠ€μ½”ν”„λŠ” ν•¨μˆ˜ λ‚΄λΆ€λ‘œ ν•œμ • λœλ‹€.

  1. var : ν•¨μˆ˜ 레벨 μŠ€μ½”ν”„ (function-level scope)
    (ν•¨μˆ˜ 내뢀에 μ„ μ–Έλœ λ³€μˆ˜λ§Œ μ§€μ—­λ³€μˆ˜λ‘œ ν•œμ •ν•˜λ©°, λ‚˜λ¨Έμ§€λŠ” λͺ¨λ‘ μ „μ—­λ³€μˆ˜λ‘œ κ°„μ£Όν•œλ‹€.)
  1. let,const : 블둝 레벨 μŠ€μ½”ν”„(block-lever scope)
    (ν•¨μˆ˜ λ‚΄λΆ€λŠ” λ¬Όλ‘ , ifλ¬Έ, forλ¬Έ λ“±μ˜ μ½”λ“œ λΈ”λŸ­{...}μ—μ„œ μ„ μ–Έλœ λ³€μˆ˜λ„ μ§€μ—­λ³€μˆ˜λ‘œ μ·¨κΈ‰ν•œλ‹€. )

β™£οΈŽ ν˜Έμ΄μŠ€νŒ…

μžλ°”μŠ€ν¬λ¦½νŠΈλŠ” μ½”λ“œλ₯Ό μ‹€ν–‰ν•˜κΈ° μ „, μΌμ’…μ˜ 'μ½”λ“œ 평가 κ³Όμ •'을 κ±°μΉ˜λŠ”λ°, μ΄λ•Œ 'λ³€μˆ˜ μ„ μ–Έλ¬Έ'을 미리 싀행두기 λ•Œλ¬Έμ— λ’€μ—μ„œ μ„ μ–Έλœ λ³€μˆ˜λ„ μ•žμ˜ μ½”λ“œμ—μ„œ μ°Έμ‘°ν•  수 있게 λœλ‹€. 이λ₯Ό λ³€μˆ˜ ν˜Έμ΄μŠ€νŒ… 이라고 ν•œλ‹€.

  1. var : λ³€μˆ˜ ν˜Έμ΄μŠ€νŒ… λ°œμƒν•œλ‹€.
  1. let, const : λ³€μˆ˜ ν˜Έμ΄μŠ€νŒ…μ΄ λ°œμƒν•œλ‹€. ν•˜μ§€λ§Œ λ‹€λ₯Έ λ°©μ‹μœΌλ‘œ μž‘λ™ν•œλ‹€.

    πŸ“½μ˜μƒμ„ 보면 더 ν™•μ‹€νžˆ μ•Œμˆ˜μžˆλ‹€ gogoβ†’ ν˜Έμ΄μŠ€νŒ…

β™£οΈŽμ „μ—­κ°μ²΄ ν”„λ‘œνΌν‹° μ—¬λΆ€

  1. var : μ „μ—­κ°μ²΄μ˜ ν”„λ‘œνΌν‹°λ‹€.
  1. let,const : μ „μ—­κ°μ²΄μ˜ ν”„λ‘œνΌν‹°κ°€ μ•„λ‹ˆλ‹€.

πŸ’‘μ°Έκ³ 
λ³€μˆ˜ μ„ μ–Έ 방식 차이

0개의 λŒ“κΈ€