λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°
πŸ’š 개발/μ›Ή

[μžλ°”μŠ€ν¬λ¦½νŠΈ] var, const, let 의 차이

by devshin.kr 2022. 1. 13.
728x90
λ°˜μ‘ν˜•

처음 μžλ°”μŠ€ν¬λ¦½νŠΈλ₯Ό μ ‘ν–ˆμ„ λ•Œ var, let, const 의 차이가 ν—·κ°ˆλ Έλ‹€.
var 둜 μ“Έ 수 μžˆλŠ” λ³€μˆ˜λŠ” let μœΌλ‘œλ„ μ“Έ μˆ˜κ°€ μžˆμ—ˆλŠ”λ° 이 차이가 뭘까 μƒκ°ν–ˆλŠ”λ°,
μ–΄μ œ λ…Έλ§ˆλ“œμ½”λ”μ˜ "바닐라 JS둜 크둬 μ•± λ§Œλ“€κΈ°" κ°•μ˜λ₯Ό λ“€μœΌλ©° 이 차이가 정리 됐닀.

var 둜 μ¨μ„œ μ•ˆ λ˜λŠ” 게 μ—†μ—ˆκΈ° λ•Œλ¬Έμ— λͺ¨λ“  λ³€μˆ˜μ˜ μžλ£Œν˜•μ„ var둜 μ“°κ³€ ν–ˆλŠ”λ°. γ…Žγ…Ž;
그리고 μ²˜μŒμ— 잘 이해가 μ•ˆ 되던 게 μ™œ μžλ°”μŠ€ν¬λ¦½νŠΈμ—μ„œλŠ” int λ‚˜ String, λ°°μ—΄ 등을 λͺ¨λ‘ var둜 μ“°λŠ”κ°€..? μ˜€λ‹€.

8~9λ…„ μ „(?^^) κ°€μž₯ 처음 배운 μ–Έμ–΄κ°€ C μ˜€κ³ , κ·Έ λ‹€μŒ μ ‘ν•œ 게 Java μ˜€λŠ”λ° λͺ¨λ‘ μ„ μ–Έν•  λ•Œ λͺ…ν™•ν•œ μžλ£Œν˜•μ„ 적어 μ£Όμ–΄μ•Ό ν–ˆλ‹€.


λ°”λ‘œ 예λ₯Ό λ“€λ©° 차이λ₯Ό μ •λ¦¬ν•˜λ©΄,

const : μƒμˆ˜. μ„ μ–Έ ν›„ λ³€ν•˜μ§€ μ•Šμ„ κ°’μ˜ μžλ£Œν˜•μ„ 적을 λ•Œ μ‚¬μš©ν•œλ‹€.

const a = 1;
a = 2; (μ—λŸ¬)


let : μ„ μ–Έ ν›„ 값이 λ³€ν•  λ•Œ μ‚¬μš©ν•œλ‹€.

let b = 1;
b = 2; (κ°€λŠ₯)


var : let κ³Ό λ™μΌν•œ 역할을 ν•œλ‹€κ³  λ³Ό 수 μžˆλ‹€.

var c = 1;
c = 2; (κ°€λŠ₯)




μ—¬κΈ°μ„œ μžλ°”μŠ€ν¬λ¦½νŠΈμ˜ 탄생 배경을 쑰금 μ•Œ 수 μžˆλŠ”λ°, μžλ°”μŠ€ν¬λ¦½νŠΈλŠ” 단 "μ—΄ν˜λ§Œμ—" λ§Œλ“€μ–΄μ‘Œλ‹€κ³  ν•œλ‹€.
κ·Έλ ‡κΈ° λ•Œλ¬Έμ— 초기 μžλ£Œν˜•μ€ var ν•˜λ‚˜ λΏμ΄μ—ˆλ‹€.


ν•˜μ§€λ§Œ μ°¨μ°¨ λ°œμ „ν•˜λ©° μžλ°”μŠ€ν¬λ¦½νŠΈλŠ” 두 κ°€μ§€μ˜ μžλ£Œν˜•μ„ 더 λ§Œλ“€μ—ˆλ‹€.
κ·Έλ ‡λ‹€κ³  ν•΄μ„œ var을 μ‚¬μš©ν•  수 없도둝 ν•œ 건 μ•„λ‹ˆκΈ° λ•Œλ¬Έμ— (이미 μžλ°”μŠ€ν¬λ¦½νŠΈλ‘œ λ§Œλ“€μ–΄μ§„ λ¬΄μˆ˜ν•œ μ›Ήμ‚¬μ΄νŠΈκ°€ λͺ¨λ‘ μˆ˜μ •μ΄ ν•„μš”ν•  수 μžˆμœΌλ―€λ‘œ) μ—¬μ „νžˆ var 을 μ‚¬μš©ν•  μˆ˜λ„ μžˆμ§€λ§Œ,
κ°€μž₯ 쒋은 방법은 λ³€ν•˜μ§€ μ•Šμ„ κ°’μ—” const λ₯Ό, μ„ μ–Έ ν›„ λ‹€λ₯Έ κ³³μ—μ„œ 값이 λ³€ν•  λ³€μˆ˜λŠ” let 으둜 적어 μ£ΌλŠ” 게 룰이라고 ν•œλ‹€.
λ…Έλ§ˆλ“œμ½”λ”λŠ” var은 μ ˆλŒ€ μ ˆλŒ€ μ ˆλŒ€ μ‚¬μš©ν•˜μ§€ 말고, const 와 let 을 μ‚¬μš©ν•˜λΌκ³  ν•œλ‹€.


κ·Έ μ΄μœ λŠ” ? λ‹€λ₯Έ μ‚¬λžŒμ΄ λ‚΄κ°€ μ§  μ½”λ“œλ₯Ό λ³Ό λ•Œ. 그리고 λ‚΄κ°€ μ§  μ½”λ“œλ„ μ‹œκ°„μ΄ μ§€λ‚˜λ©΄ 이거 λˆ„κ°€ μ§  겨 γ…  λ­” 말이여.. κ·Έλž˜μ„œ μ•„λž˜μ—μ„œ 값이 λ°”λ€λ‹€λŠ” 겨 μ•„λ‹ˆλΌλŠ” 겨 γ…  ν•  수 μžˆμœΌλ‹ˆκΉŒ. γ…Žγ…Ž
μ‹œκ°„μ΄ μ§€λ‚˜ λ‹€μ‹œ λ³Ό λ•Œ μ½”λ“œλ₯Ό 더 λΉ λ₯΄κ²Œ 이해할 수 μžˆλ„λ‘!

λ°˜μ‘ν˜•

λŒ“κΈ€