๐ŸŒ WEB/JavaScript

var, const, let

์• ์ •์“ฐ 2020. 3. 5. 19:16

JavaScript์—์„œ์˜ ๋ณ€์ˆ˜ ์„ ์–ธ ๋ฐฉ์‹ ์ค‘ var, const, let์˜ ์ฐจ์ด์  

๋จผ์ € Hoisting๊ณผ Scope์˜ ๊ฐœ๋…์ด ํ•„์š”ํ•˜๋‹ค.

 

Hoisting

Hoist๋ž€ ๋ณ€์ˆ˜์˜ ์ •์˜๊ฐ€ ๋ฒ”์œ„์— ๋”ฐ๋ผ ์„ ์–ธ, ์ดˆ๊ธฐํ™”, ํ• ๋‹น ๋ถ„๋ฆฌ๋˜๋Š” ๊ฒƒ์„ ์˜๋ฏธ (์ „์—ญ๋ณ€์ˆ˜์™€ ์ง€์—ญ๋ณ€์ˆ˜)

 

Scope

- ์ „์—ญ ์Šค์ฝ”ํ”„, ์ง€์—ญ ์Šค์ฝ”ํ”„

 

1. var

๋ณ€์ˆ˜ ์„ ์–ธ์˜ ๊ฒฝ์šฐ ์œ ๋™์ ์œผ๋กœ ๋ณ€๊ฒฝ๋  ์ˆ˜ ์žˆ๋‹ค.

function scope

2. const

๋ณ€์ˆ˜์— ์žฌ์„ ์–ธ, ์žฌํ• ๋‹น ๋ถˆ๊ฐ€

block scope

์ง€์—ญ ์Šค์ฝ”ํ”„

3. let

๋ณ€์ˆ˜์— ์žฌํ• ๋‹น ๊ฐ€๋Šฅ

block scope

 

 

ES6์—์„œ๋Š” var๋ณด๋‹ค๋Š” const์™€ let์„ ์‚ฌ์šฉํ•ด์„œ ์ •ํ™•ํ•œ ๋ณ€์ˆ˜ ์‚ฌ์šฉ์„ ๊ถŒํ•œ๋‹ค.

๋ฐ˜์‘ํ˜•