๐ค ๋ณ์๋?
๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ ๊ทธ๋ฆ์ผ๋ก์จ
์ ์ธ๊ณผ ํ ๋น์ ํตํ์ฌ ๊ฐ์ ๋ณ์์ ์ ์ฅํ๋ค.
๋ณ์๋ ์ธ์ด๋ง๋ค ์ฌ๋ฌ ํ์ ๊ณผ ์ข ๋ฅ ๋ค์ด ์์ผ๋ฉฐ ๊ฐ๊ฐ์ ํน์ฑ์ ๊ฐ์ง๋ค.
๐ ์๋ฐ์คํฌ๋ฆฝํธ ๋ณ์์ ์ข ๋ฅ
- var ๋ ์ฌ ์ ์ธ ,์ฌ ํ ๋น์ด ๊ฐ๋ฅ ํ๋ฉฐ , ํธ์ด์คํ ์ด ์ผ์ด๋๋ค.
- let ์ ์ฌ ์ ์ธ์ ๋ถ๊ฐ๋ฅ ํ๋ฉฐ ์ฌ ํ ๋น์ ๊ฐ๋ฅํ๊ณ , ํธ์ด์คํ ์ด ์ผ์ด๋์ง ์๋๋ค.
- const ๋ ์ฌ ์ ์ธ , ์ฌ ํ ๋น ์ ๋ถ ๋ถ๊ฐ๋ฅํ๊ณ , ํธ์ด์คํ ์ด ์ผ์ด๋์ง ์๋๋ค.
โ ์ฌ ์ ์ธ๊ณผ ์ฌ ํ ๋น์ด ๊ฐ๋ฅํ๋ค๋๊ฒ ๋ฌด์์ผ๊น
์๋ฐ์คํฌ๋ฆฝํธ๋ ์คํ ์ ์ธํฐํ๋ฆฌํฐ ๋ผ๋ ํ๋ก๊ทธ๋จ์ ์ฌ์ฉํ์ฌ ์คํํ๋ฉฐ,
์คํ ์ ๋ฌธ์์ ์ฝ๋๋ฅผ ํ ์ค์ฉ ์ฝ์ด๋ค์ฌ ์คํํ๋๊ฒ์ด๋ค.
์์์ ๋ถํฐ ์๋๊น์ง ์์๋๋ก ํ ์ค์ฉ ์ฝ๊ธฐ๋๋ฌธ์ ์ ์ธ๊ณผ ํธ์ถ์ ์ด๋ ์์น์์ ํ์๋์ง์ ๋ํ ์ ์ฝ์ด ์๊ธด๋ค.
๐น๋ณ์๋ค์ ํน์ง์ ์์ ๋ก ์์๋ณด๊ธฐ
์ฌ ์ ์ธ ์ฌ ํ ๋น ํ์ธ
var
//์ฌ ์ ์ธ
//์๋ฌ ๋ฐ์ x
var x = 100;
var x = 200;
//์ฌ ํ ๋น
//์๋ฌ ๋ฐ์ x
var y = 100;
y = 200;
let
//์ฌ ์ ์ธ
//์๋ฌ ๋ฐ์ o
let x = 100;
let x = 200;
//์ฌ ํ ๋น
//์๋ฌ ๋ฐ์ x
let y = 100;
y = 200;
const
//์ฌ ์ ์ธ
//์๋ฌ ๋ฐ์ o
const x = 100;
const x = 200;
//์ฌ ํ ๋น
//์๋ฌ ๋ฐ์ o
const y = 100;
y = 200;
ํธ์ด์คํ ํ์ธ
๐ค ๊ทธ ์ ์ ํธ์ด์คํ ์ด๋?
์๋ฐ์คํฌ๋ฆฝํธ๋ ์ธํฐํ๋ฆฌํฐ ๋ผ๋ ํ๋ก๊ทธ๋จ์ ํตํด ์ฝ๋๋ฅผ ํ ์ค์ฉ ์ฝ์ด ๋ค์ด๋ฉฐ ์คํํ๋ค.
์ธํฐํ๋ฆฌํฐ๋ฅผ ํตํด ๋ถ์ ๋จ๊ณ์ ์คํ ๋จ๊ณ์ ์์๋ก ์คํ๋๋ค.
๐ ๋ถ์ ๋จ๊ณ๋?
- ๋ณ์์ ํจ์๋ฅผ ์ญ ํ์ธํ ํ ๋ฉ๋ชจ๋ฆฌ์ ๋ก๋ฉ ํ๋ค.์ด๋ฌํ ์ฒ๋ฆฌ๋ฅผ ์คํ ํ๋ ๊ฒ์ด ์ธํฐํ๋ฆฌํฐ ์ด๋ค.
- ๋ฐ๋ผ์ ์คํ ๋จ๊ณ๋ก ๋ค์ด๊ฐ ์์ ์์๋ ์ด๋ฏธ ๋ณ์์ ํจ์๋ฅผ ์ธ์ํ๊ณ ์๋ค.
ํ์ง๋ง ์ด๋ฌํ ํ์์ ๋ง์ ๋ฌธ์ ๊ฐ ์๋ค.
์ด๋ฏธ ์กด์ฌ๋ฅผ ์ ๋ถ ์ธ์ํ๊ณ ์๊ธฐ ๋๋ฌธ์ ์์๋๋ก ์คํ๋๋ ์คํ ๋จ๊ณ์์
์์ง ์ ์ธ๋๊ธฐ ์ ์ ๋ณ์๋ ํจ์๋ฅผ ํธ์ถํ์ฌ๋ ์ถ๋ ฅ์ด ๋๋ค.
๋ค๋ง ์๋ฌ ์์ด ์ถ๋ ฅ์ ๊ฐ๋ฅํ๋ undefined ๋ก ์ถ๋ ฅ๋๋ค.
๊ทธ๋ ๊ฒ ๋๋ค๋ฉด ์๋ฌ๋ ์๋๋ฐ ๊ฐ์ ์ ๋์ค๊ธฐ ๋๋ฌธ์ ์๋ฌ๋ฅผ ์ฐพ๊ธฐ๋ ํ๋ค ๋ฟ ๋๋ฌ
๋ถํธํ ์ ์ด ๊ต์ฅํ ๋ง๋ค.
์ด๋ฌํ ์ ์ ๋ณด์ํ์ฌ ๋์จ Type์ด let ๊ณผ const ์ด๋ค.
let ๊ณผ const ํธ์ด์คํ ์ด ๋ถ๊ฐ๋ฅ ํ๋ฉฐ,
์ ์ธ ๋๊ธฐ ์ด์ ์ ๋ณ์๋ฅผ ํธ์ถํ ๊ฒฝ์ฐ ์คํ ์ค๋ฅ๊ฐ ๋ฐ์ํ๊ฒ ๋๋ค.
์คํ์ ๋๋ ํด๋น ๋ผ์ธ์์ ์๋ฌ๊ฐ ๋ฐ์ํ๋ค.
var
alert(check);
var check = 10;
๐ ์คํ์ ๋๋ undifined ์ถ๋ ฅ
โ ์์ธ
var ๋ ํธ์ด์คํ ์ด ๊ฐ๋ฅํ ๋ณ์๋ก ๋ถ์ ๋จ๊ณ์์ ์ด๋ฏธ check๋ผ๋ ์ด๋ฆ์ ๊ฐ์ด ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฅ๋์ด์๊ณ
ํธ์ด์คํ ์ ์คํ ๋จ๊ณ์์ ์ ์ธ ์ ์ธ ๋ณ์๋ฅผ ํธ์ถ์ ํ์์ด๋ ์ด๋ฏธ ๋ณ์์ ์กด์ฌ๋ฅผ ์ธ์ ํ๊ณ ์๊ธฐ๋๋ฌธ์ ์๋ฌ๊ฐ ๋ฐ์ํ์ง์๋๋ค.
๋ค๋ง ๋ถ์ ๋จ๊ณ์์๋ ์ ์ธ๋ง์ ์ ์ฅํ๊ธฐ๋๋ฌธ์ ๊ฐ๊น์ง ๊ฐ์ด ์ ์ฅ๋์ง ์๊ธฐ ๋๋ฌธ์ ๊ฐ์ ์ถ๋ ฅํ ๊ฒฝ์ฐ
undefined ๊ฐ ์ถ๋ ฅ๋๋ค.
let / const
alert(check);
let check = 10;
//and
alert(check);
const check = 10;
โ ๏ธ ์๋ฌ ๋ฐ์
โ ์์ธ
์๋ฌ ๋ฐ์ ์์ธ์ ์ด๊ธฐํ ๋์ง์์ ๋ณ์์๋ ์ ๊ทผ์ ํ ์ ์๊ธฐ ๋๋ฌธ์ ๋ฐ์ํ ๊ฒ์ด๋ค.
let ๊ณผ const ๋ ํธ์ด์คํ ์ด ์ผ์ด๋์ง ์๋ ๋ณ์๋ก ๋ถ์๋จ๊ณ์์ ์ธ์ ๋์์ด๋
์ฝ๋์ ์์ ์ ์ ์ธ ์ด์ ์ ์ ๊ทผ์ ํ๊ฒ ๋ ๊ฒฝ์ฐ ์๋ฌ๊ฐ ๋ฐ์ํ๊ฒ๋๋ค.