Javascript/Javascript

[ํด๋ฆฐ์ฝ”๋“œ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ] var๋ฅผ ์ง€์–‘ํ•˜์ž(var, let, const)

Rainbow๐ŸŒˆCoder 2022. 3. 10. 23:24
728x90

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)

์ถœ๋ ฅ๊ฒฐ๊ณผ

์ง€์—ญ
์ „์—ญ
728x90