ํ‹ฐ์Šคํ† ๋ฆฌ ๋ทฐ

๋…ธ๋งˆ๋“œ์ฝ”๋” ๋ฐ”๋‹๋ผ js ์ฑŒ๋ฆฐ์ง€๋ฅผ ๋‹ค์‹œ ์ˆ˜๊ฐ•ํ•˜๋ฉด์„œ ์•Œ์•„๋‘๋ฉด ์ข‹์„๋งŒํ•œ ์ด๋ก ๋“ค์„ ์ •๋ฆฌํ•ด๋ณด๋ ค๊ณ  ํ•œ๋‹ค!

๊นŒ๋จน์ง€๋ง๊ณ .. ์ž˜ ๊ธฐ์–ตํ•˜๊ธฐ!

 


const

ํ•œ๋ฒˆ ํ• ๋‹นํ•˜๋ฉด ๋ณ€๊ฒฝ์ด ๋ถˆ๊ฐ€๋Šฅํ•œ ๊ฐ’

 

const a = 1;
a = 10; // > Error

const ) ์—๋Ÿฌ ๋ฐœ์ƒ

const ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ 

  • ๋ณด์•ˆ : ๊ฐ’์ด ๋ณ€๊ฒฝ๋˜์ง€ ์•Š์•„ ํ•ดํ‚น ๋ฐฉ์ง€ ๊ฐ€๋Šฅ
  • ์Šค๋ ˆ๋“œ ์•ˆ์ „์„ฑ : ํ”„๋กœ์„ธ์Šค ์•ˆ์—์„œ ๋‹ค์–‘ํ•œ ์Šค๋ ˆ๋“œ๊ฐ€ ๋™์‹œ์— ์‹คํ–‰๋˜๋Š”๋ฐ, ๋™์‹œ์— ๋ณ€์ˆ˜์— ์ ‘๊ทผํ•˜์—ฌ ๊ฐ’์„ ๋ณ€๊ฒฝํ•˜๋Š” ๊ฒƒ์ด ๋ถˆ๊ฐ€๋Šฅ
  • ์ธ๊ฐ„์˜ ์‹ค์ˆ˜ ๊ฐ์†Œ

 

let

๋ณ€๊ฒฝ๋  ์ˆ˜ ์žˆ๋Š” ๊ฐ’

let age = 24;
console.log(age); // 24

age = 4;
console.log(age); // 4

let ) ๊ฐ’์ด ๋ณ€๊ฒฝ๋œ๋‹ค

 

๋ธ”๋ก ์Šค์ฝ”ํ”„

let globalName = "global name";
let name = "choonsik";
//global ๋ณ€์ˆ˜๋Š” ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜ ์‹œ์ž‘๋ถ€ํ„ฐ ๋๋‚  ๋•Œ๊นŒ์ง€ ๋ฉ”๋ชจ๋ฆฌ์— ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์ตœ์†Œํ•œ์œผ๋กœ ์“ฐ๋Š” ๊ฒƒ์ด ์ข‹๋‹ค.
{
  let name = "lion";
  console.log(name); // let์€ ๋ธ”๋ก์Šค์ฝ”ํ”„๋ฅผ ๊ฐ€์ง„๋‹ค.
  name = "cat";
  console.log(name);
}

console.log(globalName); // global ๋ณ€์ˆ˜์ด๊ธฐ ๋•Œ๋ฌธ์— ์ถœ๋ ฅ๊ฐ€๋Šฅ
console.log(name);

 

 

var 

์ง€๊ธˆ์€ ์—ฌ๋Ÿฌ ๋ฌธ์ œ์ ์œผ๋กœ ์ธํ•ด ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š”๋‹ค.

์„ ์–ธ์„ ํ•˜์ง€ ์•Š์•˜๋Š”๋ฐ๋„ ์ถœ๋ ฅ์ด ๊ฐ€๋Šฅํ•œ ํ˜„์ƒ์ด ์ƒ๊ธฐ๊ธฐ ๋•Œ๋ฌธ์ธ๋ฐ, ์ด๋Ÿฌํ•œ ํ˜„์ƒ์„ ํ˜ธ์ด์ŠคํŒ… (๋Œ์–ด์˜ฌ๋ฆฌ๋‹ค) ๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค.

 

* var hoisting : ์–ด๋””์— ์„ ์–ธํ–ˆ๋Š”์ง€์— ์ƒ๊ด€์—†์ด ์ œ์ผ ์œ„๋กœ ์„ ์–ธ์„ ๋Œ์–ด์˜ฌ๋ฆฌ๋Š” ๊ฒƒ

console.log(age); // ์•„์ง ์„ ์–ธ์„ ์•ˆํ•œ ์ƒํƒœ์ธ๋ฐ undefined๋กœ ์ถœ๋ ฅ ๊ฐ€๋Šฅ

age = 4;
console.log(age); // >> 4

var age;

{
  age1 = 5; 
  var age1;
  console.log(age1); // >> 5

  age1 = 50;
  console.log(age1); // >> 50
}

console.log(age1); // ๋ธ”๋ก ์Šค์ฝ”ํ”„ ์กฐ์ฐจ๋„ ์—†๋‹ค >> 50

 


์ค‘๊ฐ„์— ๊ฐ’์„ ๋ณ€๊ฒฝํ•ด์ค˜์•ผ ํ•  ๊ฒฝ์šฐ๊ฐ€ ์•„๋‹ˆ๋ผ๋ฉด const๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋œ๋‹ค.

๊ฐ’์„ ์ค‘๊ฐ„์— ๋ณ€๊ฒฝํ•ด์ค˜์•ผ ํ•˜๋Š” ์ƒํ™ฉ์—์„œ๋Š” let์„ ์‚ฌ์šฉํ•˜๋ฉด ๋œ๋‹ค!

๋Œ“๊ธ€