ํด๋น ํฌ์คํ
์ "์ํ์ฝ๋ฉ"์ ์ด๊ณ ์ ๋์ ๊ฐ์๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์ฌ๋ฆฐ ๊ฒ์๊ธ ์
๋๋ค.
์์
์ ์ธ ์ฉ๋๊ฐ ์๋, ๊ฐ์ธ ๊ณต๋ถ ์ ๋ฆฌ ๋ชฉ์ ์ผ๋ก ์ฌ๋ฆฌ๋ ๊ธ์์ ๋ฏธ๋ฆฌ ์๋ฆฝ๋๋ค.
์์ ๋ฐ์ดํฐ ํ์
(๊ธฐ๋ณธ ๋ฐ์ดํฐ ํ์
)
๋ฐ์ดํฐ ํ์
์ด๋ ๋ฐ์ดํฐ์ ํํ๋ฅผ ์๋ฏธํ๋ค.
๋ฐ์ดํฐ ํ์
์ ํฌ๊ฒ ๋๊ฐ์ง๋ก ๊ตฌ๋ถํ ์ ์๋ค. ๊ฐ์ฒด์ ๊ฐ์ฒด๊ฐ ์๋ ๊ฒ.
๊ทธ๋ผ ๊ฐ์ฒด๊ฐ ์๋ ๊ฒ์ ๋ฌด์์ผ๊น?
- ์ซ์
- ๋ฌธ์์ด
- ๋ถ๋ฆฌ์ธ(true/false)
- null
- undefined
๊ฐ์ฒด๊ฐ ์๋ ๋ฐ์ดํฐ ํ์
์ ์์ ๋ฐ์ดํฐ ํ์
(primitive type)์ด๋ผ๊ณ ํ๋ค.
๊ทธ ์ธ์ ๋ชจ๋ ๋ฐ์ดํฐ ํ์
๋ค์ ๊ฐ์ฒด๋ค. ์ฆ ๊ฐ์ฒด๋ฐ์ดํฐ ํ์
(์ฐธ์กฐ ๋ฐ์ดํฐ ํ์
)์ด๋ค.
๋ ํผ ๊ฐ์ฒด
์๋ ์ฝ๋๋ฅผ ๋ณด์.
์ ์ฝ๋๋ฅผ ์ดํด๋ณด๋ฉด ์ด๊ฒ์ ๋ฌธ์์ด์ด๊ธฐ ๋๋ฌธ์ ์์๋ฐ์ดํฐ ์ด๋ค. ํ์ง๋ง ๊ฐ์ฒด์ ํํ๋ฅผ ๋๊ณ ์๋ค.
. ์ด ์๋ฏธํ๋ ๋ป์ Object access Operator๋ก ๊ฒฐ๊ตญ ๊ฐ์ฒด๋ฅผ ์ด์ด์ฃผ๋ ๊ฒ์ด๋ค.
๊ทธ๋ ๊ธฐ ๋๋ฌธ์ ๊ทธ ๊ฐ์ฒด์ ํ๋กํผํฐ, ๋ฉ์๋๊ฐ ์กด์ฌํ๋ ๊ฒ์ด๋ค.
๋ฌธ์์ด๊ณผ ๊ฐ์ ์์๋ฐ์ดํฐ ํ์
์ ๊ฐ์ฒด๋ก์จ ์ฌ์ฉํ ๋ ์์๋ก ๊ฐ์ฒด๋ก ๋ง๋ค์ด ์ค๋ค.
๋ฌธ์์ด์ ๋ถ๋ช
ํ ํ๋กํผํฐ์ ๋ฉ์๋๊ฐ ์๋ค. ๊ทธ๋ ๋ค๋ฉด ๊ฐ์ฒด๋ค.
๊ทธ๋ฐ๋ฐ ์ ๋ฌธ์์ด์ด ๊ฐ์ฒด๊ฐ ์๋๋ผ๊ณ ํ ๊น?
๊ทธ๊ฒ์ ๋ด๋ถ์ ์ผ๋ก ๋ฌธ์์ด์ด ์์ ๋ฐ์ดํฐ ํ์
์ด๊ณ ๋ฌธ์์ด๊ณผ ๊ด๋ จ๋ ์ด๋ค ์์
์ ํ๋ ค๊ณ ํ ๋ ์๋ฐ์คํฌ๋ฆฝํธ๋ ์์๋ก ๋ฌธ์์ด ๊ฐ์ฒด๋ฅผ ๋ง๋ค๊ณ ์ฌ์ฉ์ด ๋๋๋ฉด ์ ๊ฑฐํ๊ธฐ ๋๋ฌธ์ด๋ค.
์ด๋ฌํ ์ฒ๋ฆฌ๋ ๋ด๋ถ์ ์ผ๋ก ์ผ์ด๋๋ค. ๊ทธ๋ ๊ธฐ ๋๋ฌธ์ ๋ชฐ๋ผ๋ ๋๋ค.
ํ์ง๋ง ์์ ๋ฐ์ดํฐ ํ์
๊ณผ ๊ฐ์ฒด๋ ์ข ๋ค๋ฅธ ๋์ ๋ฐฉ๋ฒ์ ๊ฐ์ง๊ณ ์๊ธฐ ๋๋ฌธ์ ์ด๋ค์ ๋ถ๋ณํ๋ ๊ฒ์ ๊ฒฐ๊ตญ์ ํ์ํ๋ค.
str.prop๋ฅผ ํ๋ ์๊ฐ์ ์๋ฐ์คํฌ๋ฆฝํธ ๋ด๋ถ์ ์ผ๋ก String ๊ฐ์ฒด๊ฐ ๋ง๋ค์ด์ง๋ค.
prop ํ๋กํผํฐ๋ ์ด ๊ฐ์ฒด์ ์ ์ฅ๋๊ณ ์ด ๊ฐ์ฒด๋ ๊ณง ์ ๊ฑฐ ๋๋ค. ๊ทธ๋ ๊ธฐ ๋๋ฌธ์ prop๋ผ๋ ์์ฑ์ด ์ ์ฅ๋ ๊ฐ์ฒด๋ ์กด์ฌํ์ง ์๊ฒ๋๋ค. ์ด๋ฌํ ํน์ง์ ์ผ๋ฐ์ ์ธ ๊ฐ์ฒด์ ๋์ ๋ฐฉ๋ฒ๊ณผ๋ ๋ค๋ฅด๋ค.
ํ์ง๋ง ๋ฌธ์์ด๊ณผ ๊ด๋ จํด์ ํ์ํ ๊ธฐ๋ฅ์ฑ์ ๊ฐ์ฒด์งํฅ์ ์ผ๋ก ์ ๊ณตํด์ผ ํ๋ ํ์ ๋ํ ์๊ธฐ ๋๋ฌธ์ ์์ ๋ฐ์ดํฐ ํ์ ๊ฐ์ฒด์ฒ๋ผ ๋ค๋ฃฐ ์ ์๋๋ก ํ๊ธฐ ์ํ ๊ฐ์ฒด๋ฅผ ์๋ฐ์คํฌ๋ฆฝํธ๋ ์ ๊ณตํ๊ณ ์๋๋ฐ ๊ทธ๊ฒ์ด ๋ ํผ๊ฐ์ฒด(wrapper object)๋ค.
๋ ํผ๊ฐ์ฒด๋ก๋ String, Number, Boolean์ด ์๋ค. null๊ณผ undefined๋ ๋ ํผ ๊ฐ์ฒด๊ฐ ์กด์ฌํ์ง ์๋๋ค.
๊ฒฐ๊ตญ ์์ ๋ฐ์ดํฐ๋ ๊ฐ์ฒด๊ฐ ์๋๊ธฐ ๋๋ฌธ์ ์๋ ๊ฐ์ฒด์ฒ๋ผ ์ฌ์ฉํ ์ ์์ง๋ง
"๋ ํผ๊ฐ์ฒด" ๋๋ถ์ ์์์ ์ฌ์ฉํ๋ ๋ชจ๋ ๊ฒ์ด ๊ฐ๋ฅํ ๊ฒ์ด๋ค.
๋ง์ง๋ง์ผ๋ก ๋ค์ ํ๋ฒ ์ดํด๋ณด์. ๋ค์ ๋นจ๊ฐ์์ผ๋ก ํ์๋ ๋ถ๋ถ์ด ๋ฐ๋ก "๋ ํผ๊ฐ์ฒด"์ธ๊ฒ์ด๋ค.
- ์ซ์ Number
- ๋ฌธ์์ด String
- ๋ถ๋ฆฌ์ธ(true/false) Boolean
- null ์กด์ฌ x
- undefined ์กด์ฌ x
์กด์ฌ ํ์ง ์๋ ๊ฒ๋ค์ : null.prop = 'haeun' ์ด๋ฐ์์ผ๋ก ์์ฑ ์ ํ์
์๋ฌ๊ฐ ๋ฐ์ํ๊ฒ ๋๋ค.