var ๋์ const๋ฅผ ์ฌ์ฉํ์!
var | ํจ์ ์ค์ฝํ |
let, const | ๋ธ๋ก ๋จ์ ์ค์ฝํ |
let, const ๋ธ๋ก์ค์ฝํ์ ๋ํด์ TDZ(Temporal Dead Zone)์ด๋ผ๋ ์์ฑ์ ๊ฐ์ง ์ ์๋๋ฐ,
์ด๋ ๊ฒ ๋๋ฉด ์์ ํ๊ฒ ์ฝ๋๋ฅผ ์์ฑํ ์ ์๋ค.
var๋ก๋ ๊ฐ์ ๋ณ์๋ช ์ ์ฌํ ๋น, ์ฌ์ ์ธ์ ๋์์์ด ํ ์ ์๋ค. (์ํ)
let๊ณผ const์ ์ฐจ์ด๋
let์ ๋จผ์ ๋ณ์๋ฅผ ์ ์ธํ๊ณ ์ธ์ ๋ ์ง ์ฌํ ๋นํ ์ ์๋ค.
์์ฝ์ด const๋ ๋ณ์๋ฅผ ์ ์ธ ํ ๋ฐ๋ก ํ ๋น๊น์ง ํด์ผํ๋ค. ๋ณ์๋ฅผ ํ๋ฒ ๋ง๋ค๊ณ ์ฌํ ๋น ํ ์๊ฐ ์๋ค.
var, let, const์ ์ค์ฝํ ์ฐจ์ด
์์ 1 : var๋ ํจ์๋จ์, if๋ฌธ ๋ธ๋ญ์ ํจ์๋จ์๊ฐ ์๋๋ค. ๋ธ๋ญ๋จ์ ์ค์ฝํ๊ฐ ์๋ ์ด์ ๋ธ๋ญ ๋ฐ๊น์ง ์ ์ญ ๋ณ์์ฒ๋ผ ํ๋ํ๊ฒ ๋๋ค.
var global ='์ ์ญ'
if(global==='์ ์ญ')
{
var global ='์ง์ญ'
console.log(global)
}
console.log(global)
์ถ๋ ฅ๊ฒฐ๊ณผ
์ง์ญ
์ง์ญ
์์ 2-1 : if๋ฌธ ๋ธ๋ญ ์์์ ์ง์ญ๋ณ์๋ก์์ ์ญํ ์ ์ ์ํํ๊ณ ์๋ค. ์ ์ญ ๊ณต๊ฐ์์ ์ญ์ ์ ์ญ ๋ณ์๋ก์์ ์ญํ ์ ์ ์ํํ๋ค. var ๋ณ์๋ณด๋ค ๋ณด๋ค ์์ ํ๊ฒ ํ๋ก๊ทธ๋๋จธ์ ์๋๋ฅผ ์คํํ ์ ์๋ค.
let global ='์ ์ญ'
if(global==='์ ์ญ')
{
let global ='์ง์ญ'
console.log(global)
}
console.log(global)
์์ 2-2 : ๋ธ๋ญ์ด๊ธฐ๋ง ํด๋ ์์ ํ๊ฒ ์๋๋ฅผ ์ํํ๋ค.
let global ='์ ์ญ'
{
let global ='์ง์ญ'
console.log(global)
}
console.log(global)
์์ 3 : const๋ let๊ณผ ๋ง์ฐฌ๊ฐ์ง๋ก ๋ธ๋ก๋จ์ ์ค์ฝํ์ด๋ฏ๋ก ๊ฒฐ๊ณผ๊ฐ ๋๊ฐ์ด ๋์จ๋ค.
const global ='์ ์ญ'
{
const global ='์ง์ญ'
console.log(global)
}
console.log(global)
์ถ๋ ฅ๊ฒฐ๊ณผ
์ง์ญ
์ ์ญ