๐ก ์ด๋ฒ ์ฃผ์๋ ๊ผญ ์์์ผํ๋ ์๋ฐ ์คํฌ๋ฆฝํธ ๋ฌธ๋ฒ ์ค ๋ณ์์ ๋ฐ์ดํฐํ์ ๊ทธ๋ฆฌ๊ณ ์ฐ์ฐ์์ ๊ด๋ จ๋ ๋ด์ฉ์ ๋ฐฐ์ ๋ค.
โ ๋ณ์
: ํ๋์ ๊ฐ์ ์ ์ฅํ๊ธฐ ์ํด ํ๋ณดํ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ ์์ฒด ๋๋ ๊ทธ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ์๋ณํ๊ธฐ ์ํด ๋ถ์ธ ์ด๋ฆ
๐๊ฐ์ ์์น๋ฅผ ๊ฐ๋ฆฌํค๋ ์์ง์ ์ธ ์ด๋ฆ
๐ฝ๋ณ์์ ๊ด๋ จ๋ ์ฉ์ด ์ ๋ฆฌ
-๋ณ์ ์ด๋ฆ : ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ์ ์ฅ๋ ๊ฐ์ ์๋ณํ ์ ์๋ ๊ณ ์ ํ ์ด๋ฆ
-๋ณ์ ๊ฐ : ๋ณ์์ ์ ์ฅ๋ ๊ฐ
-ํ ๋น : ๋ณ์์ ๊ฐ์ ์ ์ฅํ๋ ๊ฒ
-์ฐธ์กฐ : ๋ณ์์ ์ ์ฅ๋ ๊ฐ์ ์ฝ์ด ๋ค์ด๋ ๊ฒ
-์ ์ธ : ๊ฐ์ ์ ์ฅํ๊ธฐ ์ํ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ํ๋ณดํ๊ณ ๋ณ์ ์ด๋ฆ๊ณผ ํ๋ณด๋ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ์ฃผ์๋ฅผ ์ฐ๊ฒฐํ์ฌ ๊ฐ์ ์ ์ฅํ ์ ์๊ฒ ์ค๋นํ๋ ๊ฒ๐๋ณ์๋ฅผ ์์ฑํ๋ ๊ฒ
โ ๋ณ์์ ์ธ var
, let
, const
์ผ๋ก ๊ฐ๋ฅ
ex) var
๋ก ๋ณ์ ์ ์ธ
๐ var, let, const ๋น๊ต
๊ตฌ๋ถ | var | let | const |
---|---|---|---|
์ค๋ณต ์ ์ธ ํ์ฉ ์ฌ๋ถ | O | X | X |
ํจ์ ๋ ๋ฒจ ์ค์ฝํ / ๋ธ๋ก๋ ๋ฒจ ์ค์ฝํ | ํจ์ ๋ ๋ฒจ ์ค์ฝํ | ๋ธ๋ก ๋ ๋ฒจ ์ค์ฝํ | ๋ธ๋ก ๋ ๋ฒจ ์ค์ฝํ |
์ฌํ ๋น | O | O | X |
โช var
์ ์ค๋ณต์ ์ธ ํ์ฉ
โช let
๊ณผ const
๋ ์ค๋ณต์ ์ธ ํ์ฉ X
โช var
์ ๋ธ๋ก ๋ ๋ฒจ ์ค์ฝํ๋ฅผ ์ง์ํ์ง X! ๋์ ํจ์ ๋ ๋ฒจ ์ค์ฝํ๋ฅผ ์ง์ํจ
๐if๋ฌธ ์์์ ์ ์ธ๋ x๊ฐ์ด if๋ฌธ ์์์๋ง ์ ํจํ ๊ฒ์ด ์๋๋ผ ์ ์ญ์ ์ผ๋ก ์ ํจํจ
โช let
์ ๋ธ๋ก ๋ ๋ฒจ ์ค์ฝํ ์ง์ํจ (const
๋ ๋ธ๋กlev)
๐let์ผ๋ก ์ ์ธํ ๋ณ์๋ ํด๋น ์ฝ๋ ๋ธ๋ก ์์์๋ง ์ ํจํจ. if๋ฌธ ์์์ ์ฐธ์กฐํ x๊ฐ๊ณผ if๋ฌธ ๋ฐ์์ ์ฐธ์กฐํ x๊ฐ์ด ๋ค๋ฆ์ ์ ์ ์์.
โช var
์ let
์ ์ฌํ ๋น ๊ฐ๋ฅ O
โช const
๋ ์ฌํ ๋น ๊ฐ๋ฅ X
๐let
๋ ๋ณ์ ์ ์ธ, const
๋ ์์ ์ ์ธ์ ์ฌ์ฉํจ!
const
๋ก ์ ์ธํ๋ ๊ฐ์ ์์, ์ฆ ๋จ ํ๋ฒ๋ง ํ ๋นํ ์ ์๋ ๋ณ์๋ก const
์๋ ๊ฐ์ ์ฌํ ๋น ํ ์ ์์.
โ ๋ณ์ ํธ์ด์คํ
: ๋ณ์ ์ฐธ์กฐ๋ณด๋ค ๋ณ์ ์ ์ธ์ด ๋์ค์ ์ด๋ฃจ์ด์ง๋๋ผ๋ ๋ณ์ ์ ์ธ์ด ์ฝ๋ ์๋จ์ผ๋ก ๋์ด์ฌ๋ ค์ง ๊ฒ์ฒ๋ผ ๋์ํ๊ฒ ๋๋ ๊ฒ
๐ผa๋ฅผ ์ ์ธํ๊ธฐ ์ ์ a๋ฅผ ์ฐธ์กฐํ๋ ์ฝ๋๊ฐ ์๋ ๊ฒฝ์ฐ์. ์ด๋ฌ๋ฉด ๊ทธ๋ฅ ์๋ฌ๊ฐ ๋์์ผ ํ ๊ฒ ๊ฐ์๋ฐ ์ฝ์์๋ undefined๋ผ๋ ๊ฐ์ด ๋์ด.
๐์๋ฐ ์คํฌ๋ฆฝํธ์ ํน์ง
1. ๋ณ์ ์ ์ธ์ ์ํด ํ๋ณด๋ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ๋น์ด์์ ๊ฒ๊ฐ์ง๋ง ์ฌ์ค ์๋ฐ์คํฌ๋ฆฝํธ ์์ง์ ์ํด ์๋ฌต์ ์ผ๋ก undefined๋ผ๋ ๊ฐ์ด ํ ๋น๋์ด ์์.
2. ๋ณ์ ์ ์ธ์ ์คํ ์์ ๊ณผ ๋ฐํ์์ด ๋์์ ์ด๋ค์ง์ง ์์. ์๋ฐ์คํฌ๋ฆฝํธ ์์ง์ ์์ค์ฝ๋๋ฅผ ํ์ค์ฉ ์คํํ๋ ์์ ์ธ '๋ฐํ์ ์ด์ '์ ๋จผ์ ์์ค์ฝ๋๋ฅผ ํ๊ฐํจ. ์ด ๋จ๊ณ์์ ์๋ฐ์คํฌ๋ฆฝํธ ์์ง์ ๋ณ์ ์ ์ธ์ ํฌํจํ ๋ชจ๋ ์ ์ธ๋ฌธ์ ์์ค์ฝ๋์์ ์ฐพ์๋ด ๋จผ์ ์คํํจ. ์ด์ ๋ฐ๋ผ ๋ณ์ ํธ์ด์คํ ์ด ๋ํ๋๊ฒ ๋จ.
โ ๋ฐ์ดํฐ ํ์
โช ์๋ฐ ์คํฌ๋ฆฝํธ๋ ํฌ๊ฒ ์์ํ์
๊ณผ ๊ฐ์ฒดํ์
์ผ๋ก ๊ตฌ๋ถํ ์ ์์
-> ์์ ํ์
- ์ซ์, ๋ฌธ์์ด, ๋ถ๋ฆฌ์ธ, undefined, null ๋ฑ์ ํ์
์ด ํฌํจ๋จ
-> ๊ฐ์ฒด ํ์
- ๊ฐ์ฒด, ํจ์, ๋ฐฐ์ด ๋ฑ์ด ํฌํจ๋จ
โช ๋ฌธ์์ด ํ์
String
: ํ
์คํธ ๋ฐ์ดํฐ๋ฅผ ๋ํ๋
-> ์์ ๋ฐ์ดํ' ', ํฐ ๋ฐ์ดํ" ", ๋ฐฑํฑ์ผ๋ก ๊ฐ์ธ์ ํ๊ธฐํ ์ ์์. ๋ฐฑํฑ์ผ๋ก ๊ฐ์ธ๋ ํ๊ธฐ๋ฒ์ ํ
ํ๋ฆฟ ๋ฆฌํฐ๋ด์ด๋ผ๊ณ ํจ.
๐ํ ํ๋ฆฟ ๋ฆฌํฐ๋ด์ ํน์ง
1. ๋ฉํฐ๋ผ์ธ ๋ฌธ์์ด ๊ฐ๋ฅ
2. ํํ์ ์ฝ์ ๊ฐ๋ฅ
โช ๋ถ๋ฆฌ์ธ ํ์
Boolean
: ๋
ผ๋ฆฌ์ ์ฐธtrue
, ๊ฑฐ์งfalse
์ ๋ํ๋
โช undefined
ํ์
: ์๋ฐ์คํฌ๋ฆฝํธ ์์ง์ด ์๋ฌต์ ์ผ๋ก ๋ณ์๋ฅผ ์ด๊ธฐํํ ๋ ์ฌ์ฉํ๋ ๊ฐ
โช null
: ๋ณ์์ ๊ฐ์ด ์๋ค๋ ๊ฒ์ ์๋์ ์ผ๋ก ๋ช
์ํ๊ธฐ ์ํด ์ฌ์ฉ
๐๋ณ์์ ๊ฐ์ด ์๋ค๋ ๊ฑธ ๋ช
์ํ๊ณ ์ถ์๋๋ undefined
๊ฐ ์๋๋ผ null
์ ํ ๋นํ๋ ๊ฒ์ด ๋ง์!
โ ์ฐ์ฐ์
โช ์ดํญ ์ฐ์ ์ฐ์ฐ์ : ํผ์ฐ์ฐ์๊ฐ ๋ ๊ฐ์ธ ๊ฒฝ์ฐ
โช ๋จํญ ์ฐ์ ์ฐ์ฐ์ : ํผ์ฐ์ฐ์๊ฐ ํ๋์ธ ๊ฒฝ์ฐ
โช ํ ๋น ์ฐ์ฐ์ : ์ฐํญ์ ์๋ ํผ์ฐ์ฐ์์ ํ๊ฐ ๊ฒฐ๊ณผ๋ฅผ ์ขํญ์ ์๋ ๋ณ์์ ํ ๋น
โช ๋น๊ต ์ฐ์ฐ์ : ์ขํญ๊ณผ ์ฐํญ์ ํผ์ฐ์ฐ์๋ฅผ ๋น๊ตํ ๋ค์ ๊ทธ ๊ฒฐ๊ณผ๋ฅผ ๋ถ๋ฆฌ์ธ ๊ฐ์ผ๋ก ๋ฐํ
๐๋๋ฑ ๋น๊ต ์ฐ์ฐ์ ==
vs. ์ผ์น ๋น๊ต ์ฐ์ฐ์ ===
==
: ๊ฐ์๋ง ์ด์ ์ ๋๊ณ ๋น๊ต, ์๋ฌต์ ์ผ๋ก ํ์
์ ๋๋ฑํ ๊ฒ์ผ๋ก ์ทจ๊ธ
===
: ๊ฐ๋ฟ๋ง ์๋๋ผ ํ์
๊น์ง ๋น๊ตํ์ฌ ์ฐ์ฐ ๊ฒฐ๊ณผ์ ๋ณด์ฌ์ค
โช ์ผํญ ์กฐ๊ฑด ์ฐ์ฐ์
: ์ฒซ๋ฒ์งธ ํผ์ฐ์ฐ์๊ฐ true
๋ก ํ๊ฐ๋๋ฉด ๋๋ฒ์งธ ํผ์ฐ์ฐ์๋ฅผ ๋ฐํํจ. ๋๋ฒ์งธ ํผ์ฐ์ฐ์ ์์๋ ๋ฌผ์ํ?
๊ฐ ์์. ๋ฐ๋ฉด ์ฒซ๋ฒ์งธ ํผ์ฐ์ฐ์๊ฐ false
๋ก ํ๊ฐ๋๋ฉด ์ธ๋ฒ์งธ ํผ์ฐ์ฐ์๋ฅผ ๋ฐํํจ. ์ธ๋ฒ์งธ ํผ์ฐ์ฐ์ ์์๋ ์ฝ๋ก :
์ด ์์.
โช ๋
ผ๋ฆฌ ์ฐ์ฐ์ : ์ฐํญ๊ณผ ์ขํญ์ ํผ์ฐ์ฐ์๋ฅผ ๋
ผ๋ฆฌ ์ฐ์ฐํจ
๐๋
ผ๋ฆฌํฉ ||
์ฐ์ฐ์๋ ์ฒซ๋ฒ์งธ ํผ์ฐ์ฐ์๊ฐ true
๋ฉด ๊ทธ ๊ฐ์ ๋ฐํํ๊ณ , ์ฒซ๋ฒ์งธ ํผ์ฐ์ฐ์๊ฐ false
๋ฉด ๋๋ฒ์งธ ํผ์ฐ์ฐ์๋ฅผ ๋ฐํํจ. ๋
ผ๋ฆฌ๊ณฑ &&
์ฐ์ฐ์๋ ์ฒซ๋ฒ์งธ ํผ์ฐ์ฐ์๊ฐ true
๋ฉด ๋๋ฒ์งธ ํผ์ฐ์ฐ์๋ฅผ ๋ฐํํ๊ณ , ์ฒซ๋ฒ์งธ ํผ์ฐ์ฐ์๊ฐ false
๋ฉด ๊ทธ๋๋ก ์ฒซ๋ฒ์งธ ํผ์ฐ์ฐ์๋ฅผ ๋ฐํ
๊ผญ ์์์ผ ํ๋ ์๋ฐ์คํฌ๋ฆฝํธ ๋ฌธ๋ฒ๊ณผ ์ต์ ์๋ฐ ์คํฌ๋ฆฝํธ ๋ฌธ๋ฒ์ ์์๊ฐ ์ ์์ด์ ์ข์๋ค. ๋ณ์๋ฅผ ์ ์ธํ๊ณ ์ด๋ฆ์ ๋ถ์ด๊ณ ๊ฑฐ๊ธฐ์ ๊ฐ์ ํ ๋นํ๋ ํ์์ ๋ค๋ฅธ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ ๋น์ทํ๋ค๊ณ ์๊ฐํ์๊ณ , console.log๋ก ๋ณ์์ ์ ์ฅ๋ ๊ฐ์ ์ฝ์ด๋ค์ด๋ ์ฐธ์กฐ๋ถ๋ถ์ ์์ง ์ต์ํ์ง ์์์ ๋ฐ๋ณตํ์ฌ ์ค์ต์ ํด๋ด์ผ๊ฒ ๋ค๊ณ ๋๊ผ๋ค. Codesandbox๋ฅผ ์ด๋ฒ์ ์ฒ์ ์จ๋ดค๋๋ฐ ์ฝ์์ฐฝ์ ๋ณ๊ฒฝ๋ ๋ด์ฉ๋ง์ ๋ฐ์ํ๊ธฐ ์ํด์ ํ์ดํ๋ฅผ ํด๋ฆญํด์ค์ผ ๋๋ค๋ ์ ์ ์ ์ธํ๊ณ ๋ ๋งค์ฐ ์ ์ฉํ๋ค. ์์ผ๋ก ๋ฐฐ์ฐ๊ฒ ๋ ์๋ฐ ์คํฌ๋ฆฝํธ ๋ฌธ๋ฒ๋ Codesandbox๋ฅผ ์ด์ฉํ์ฌ ์ฐ์ตํด๋ด์ผ๊ฒ ๋ค:-) Truthyํ ๊ฐ๊ณผ Falsyํ ๊ฐ์ด ์๋ค๋ ๊ฒ, ๋ณ์ ์ ์ธ์๋ var, let, const๊ฐ ์๊ณ ๊ฐ๊ฐ์ ์ฐ์์ด ๋ค๋ฅด๋ค๋ ๊ฒ, ์ฐ์ฐ์ ์ค์์ ์ผํญ ์กฐ๊ฑด ์ฐ์ฐ์ ๋ถ๋ถ ๊ทธ๋ฆฌ๊ณ ๋ฑํธ2๊ฐ์ ๋ฑํธ3๊ฐ์ ์ฐจ์ด์ ๋ฑ ์ฒ์ ๋ค์ด๋ณด๋ ๋ด์ฉ์ด ๋๋ถ๋ถ์ด์๊ณ ๊ทธ๋์ ๋ ํฅ๋ฏธ๋กญ๊ฒ ๋ค์ ์ ์์๋ ๊ฒ ๊ฐ๋ค. ์ต์ํ์ง ์์ ๋ด์ฉ๋ค์ด ๋ง์๋งํผ ๋ณต์ต๋ ์ํด์ผ๊ฒ ๋ค!