๋ค์ดํฐ๋ธ
- ๋ค์ดํฐ๋ธ๋ผ๊ณ ๋ถ๋ฆฌ๋ ์ฌ๋ฌ๊ฐ์ง ๋ด์ฅํ์ ์ด ์๋ค.
- String, Number๊ฐ์๊ฒ๋ค์ด ์๋ค.
๋ค์ดํฐ๋ธ๋ ์ฌ์ค ๋ด์ฅํจ์์ด๋ค.
- ์์ฑ์์ฒ๋ผ ์ฌ์ฉํ ์ ์๋๋ฐ, ์์๊ฐ์ ๊ฐ์ผ ๊ฐ์ฒด๊ฐ ๋ฐํ๋๋ค. ๊ทธ๋ฌ๋ฏ๋ก typeof์ ๊ฒฐ๊ณผ๋ object์ด๋ค.
๋ด๋ถ [[Class]]
- typeof๊ฐ object ์ธ ๊ฒฝ์ฐ,
[[Class]]๋ผ๋ ๋ด๋ถ ํ๋กํผํฐ๊ฐ ์ถ๊ฐ๋ก ๋ถ๋๋ค. - ๋ณดํต ํด๋น ๊ฐ๊ณผ ๊ด๋ จ๋ ๋ด์ฅ ๋ค์ดํฐ๋ธ ์์ฑ์๋ฅผ ๊ฐ๋ฆฌํค๋๋ฐ, ๊ทธ๋ ์ง ์์๋๋ ์๋ค.
- ๋จ์ ์์๊ฐ์ ํด๋นํ๋ ๊ฐ์ฒด ๋ํผ๋ก ์๋ ๋ฐ์ฑ๋๋ค.
๋ํผ ๋ฐ์ฑ
- ์์๊ฐ์ ์์ฑ ๋ฐ ๋ฉ์๋๊ฐ ์๋๋ฐ, JS๋ ์์๊ฐ์ ์์์ ๋ฐ์ฑํด์ฃผ๋ค๋ณด๋, ์๋์ ๊ฐ์ด ์ฌ์ฉํ ์ ์๋ค.
- ํ์์ ๋ฐ๋ผ JS์์ง์ด ์์์ ์์์ ์ผ๋ก ๋ฐ์ฑํ๋ฏ๋ก, ๊ฐ๋ฐ์๊ฐ ๋ฐ๋ก ์ต์ ํํด์ค ํ์ ์๋ค๊ณ ํ๋ค.
๋ํผ ๊ฐ์ฒด ์ฃผ์์ฌํญ
- boolean๊ฐ ๊ฐ์๊ฑธ ๋ํผ๋ก ๊ฐ์ธ๊ณ , ๊ทธ๊ฑธ ๊ฐ์ง๊ณ ์กฐ๊ฑด๋ฌธ์์ ์ฐธ ๊ฑฐ์ง ์ฌ๋ถ๋ฅผ ๋ฐ์ง๋ค๋ฉด,
๊ฐ์ด ์กด์ฌํ๋ truthyํ๋ค๊ณ ๋์ฌ ๊ฒ์ด๋ค. ๋ด๋ถ ๊ฐ์ด false์ฌ๋ ๋ง์ด๋ค.
์ด๋ฐ ์ํฉ์ ์ฃผ์ํ์. - ๊ฐ์ ๊บผ๋ผ ๋ valueOf๋ฅผ ์ฌ์ฉํ์
Wrapper๊ฐ์ฒด๋ ์ฃผ์ํด์ ์ฌ์ฉ ํ ๊ฒ
- ์ ๋ง ํ์ํด์ ์ฐ๋๊ฒ ์๋๋ผ๋ฉด, ๊ทธ๋ฅ ์์ ํ์
์ ์ฌ์ฉํ๋๊ฒ ๋ซ๋ค.
์์์ ์ธ๊ธํ Boolean๋ฌธ์ ์ฒ๋ผ, ๊ตณ์ด valueOf()๋ฅผ ์จ์ผ ํ๋ค๊ฑฐ๋ ํ๋ ๋ฌธ์ ๋ฅผ ์ฌ์ ์ ํผํ๋๋ก ํ์. - Boolean๋ง๊ณ ๋ Array๋ ํน์ดํ๋ฐ, ์ธ์๋ก 3์ ๋ฃ์ผ๋ฉด ๋น ์ฌ๋กฏ ๋ฐฐ์ด์ด ๋ง๋ค์ด์ง๋ค. ๋ฏธ๋ฆฌ ๊ฐ์ด ์ฑ์์ง ๋ฐฐ์ด์ ์ํ๋ค๋ฉด, Array.apply ํจ์๋ฅผ ์ฌ์ฉํ์.
Object(), Function(), RegExp()
- Function์ ๊ฒฝ์ฐ ๋์ ์ผ๋ก ํจ์๋ฅผ ๋ง๋ค์ด๋ด์ผ ํ๋ ์ํฉ์ด๋ผ๋ ์๋๊ฒ ์๋๋ผ๋ฉด, ์ธ ์ผ์ด ์๋ค.
- ๋๋จธ์ง๋ ๋ง์ฐฌ๊ฐ์ง์ด๋ค. ๊ทธ๋ฅ ๋ฆฌํฐ๋ด๋ก ํํํ๋๊ฒ ํจ์ฌ ๋์ผ๋, ๊ทธ๋ ๊ฒ ์ฌ์ฉํ์.
- Object์ ๊ฒฝ์ฐ, ๋ฆฌํฐ๋ด๋ก ํ๋ฒ์ ์ฌ๋ฌ ์์ฑ์ ์๊ฐ ๊ฐ๋ฅํ๋ฐ, ํ๋ฒ์ ํ๋์ฉ ํ๋กํผํฐ๋ฅผ ์ง์ ํ ์ด์ ๊ฐ ์๋ค.
- RegExp์ ๊ฒฝ์ฐ, ์ฝ๊ธฐ ํธํ๊ฑด ๋ฌผ๋ก , JS์์ง์ด ์คํ ์ ์ ์ ๊ทํํ์์ ๋ฏธ๋ฆฌ ์ปดํ์ผํ๊ณ ์บ์ํ๊ธฐ ๋๋ฌธ์,
๋๋์ฑ RegExp()๋ฅผ ์ฌ์ฉํ ์ผ์ด ์๋ค. - ๋ค๋ง, Function๊ณผ ๋ง์ฐฌ๊ฐ์ง๋ก ๋์ ์ผ๋ก ์ ๊ทํํ์์ ๋ง๋ ๋ค๋ฉด ํ์ํ ์ ์๋ค.
Date(), Error()
- date์ error๋ ๋ฆฌํฐ๋ด ํ์์ด ์์ด์ ์ฌ์ฉํด์ผํ๋ค.
๋ค์ดํฐ๋ธ ํ๋กํ ํ์
- ๋ด์ฅ ๋ค์ดํฐ๋ธ ์์ฑ์๋ ๊ฐ์ .prototype์ ๊ฐ์ง๋ค.
- ํ๋กํ ํ์ ์ ํตํด ๊ฐ์ฒด์ ์ ์๋ ๋ฉ์๋์ ์ ๊ทผ๊ฐ๋ฅํ๋ค.
ํ๋กํ ํ์ ์ ๋ํดํธ๊ฐ์ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ
- ํจ์์ ํ๋กํ ํ์
์ ๋น ํจ์, ์ ๊ทํํ์, ๋ฐฐ์ด ๋ฑ ๋ฑ, ๊ฐ์์ ํ๋กํ ํ์
์ ๊ฐ ํ์
์ ๋ํดํธ๊ฐ์ด๋ค.
- ์ด ์ ์ ํ์ฉํ์ฌ, ๊ฐ ํ์ ์ ๋ํดํธ๊ฐ์ผ๋ก ํ์ฉํ ์ ์๋ค.