๋ฐ์ดํฐ ํ์ ์ ์ข ๋ฅ
์๋ฐ์คํฌ๋ฆฝํธ์ ๋ฐ์ดํฐ ํ์
์ ๊ธฐ๋ณธํ๊ณผ ์ฐธ์กฐํ์ผ๋ก ๋๋ ์ ์๋ค.
๊ธฐ๋ณธํ๊ณผ ์ฐธ์กฐํ์ ์ํ๋ ๋ฐ์ดํฐ ํ์
์ ์๋ ํ์ ๊ฐ๋ค.
| ๊ธฐ๋ณธํ | ์ฐธ์กฐํ |
|---|---|
| number, string, boolean, null, undefined | Object, Array, Function, Date, RegExp |
๊ธฐ๋ณธํ๊ณผ ์ฐธ์กฐํ์ ๋๋๋ ๊ธฐ์ค
๊ธฐ๋ณธํ๊ณผ ์ฐธ์กฐํ ๋ ๋ค ํ ๋น์ด๋ ์ฐ์ฐ์ ํ ๋ ๊ฐ์ด ๋ณต์ ๋์ง๋ง, ์ธ๋ถ ๋์์ด ๋ค๋ฅด๋ค.
| ๊ธฐ๋ณธํ | ์ฐธ์กฐํ |
|---|---|
| ๊ฐ์ด ๋ด๊ธด ์ฃผ์๊ฐ์ ๋ฐ๋ก ๋ณต์ ํจ | ๊ฐ์ด ๋ด๊ธด ์ฃผ์๊ฐ์ผ๋ก ์ด๋ฃจ์ด์ง ๋ฌถ์์ ๊ฐ๋ฆฌํค๋ ์ฃผ์๊ฐ์ ๋ณต์ ํจ |
| ๋ถ๋ณ์ฑ(Immutability) | ๋ณ์ฑ(Mutability) |
์์ ๋ด์ฉ์ ์ดํดํ๋ ค๋ฉด, ๋ฐ์ดํฐ ํ์ ์ ๋ํ ๋ฐฐ๊ฒฝ์ง์์ ์ดํดํด์ผ ํ๋ค.
๋ฐ์ดํฐ ํ์ ์ ๋ํ ๋ฐฐ๊ฒฝ์ง์
๋ฉ๋ชจ๋ฆฌ์ ๋ฐ์ดํฐ
JS๋ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๋๋ํ๊ฒ ํ ๋นํ๋ค
- ์์ ์ ๋ฉ๋ชจ๋ฆฌ ๋ญ๋น๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด, short, int, long๋ฑ์ ํ์
์ ์ฌ์ฉํ๋ค.
์ํฉ์ ๋ฐ๋ผ ํ์ํ ์์ ๋ฉ๋ชจ๋ฆฌ๋ง ํ ๋นํ๊ธฐ ์ํด์์ด๋ค. - ํ์ง๋ง, ์ค๋๋ ์ ์ด๋ฅด๋ฌ์๋, ๋ฉ๋ชจ๋ฆฌ ์ฉ๋์ด ๋ง์ด ๋์ด๋ฌ๋ค.
์์ ์ฒ๋ผ ํ์ํ ์์ ๋ฉ๋ชจ๋ฆฌ๋ง ํ ๋นํ๊ธฐ๋ณด๋ค, ๋๋ํ๊ฒ ํ ๋นํด๋ ๊ด์ฐฎ์์ก๋ค. - JS๋ ์ซ์์ ๊ฒฝ์ฐ, ์ ์ํ, ๋ถ๋์์ํ ๋ฑ์ ๊ตฌ๋ถํ์ง ์๊ณ , ํญ์ 8๋ฐ์ดํธ๋ฅผ ํ ๋นํ๋ค.
๋ฉ๋ชจ๋ฆฌ ์ฃผ์๊ฐ
- ๋นํธ๋ ๊ณ ์ ํ ์๋ณ์๋ฅผ ๊ฐ์ง๋ค.
- ๋ฐ์ดํธ๋ ์์ํ๋ ๋นํธ๋ฅผ ์ฌ์ฉํด์ ์์น๋ฅผ ํ์ ํ ์ ์๋ค.
- ์ด๋ฅผ ๋ฉ๋ชจ๋ฆฌ ์ฃผ์๊ฐ์ด๋ผ๊ณ ํ๋ค
์๋ณ์์ ๋ณ์
๋ณ์(Variable) ์ ์ธ
- ๋ณํ ์ ์๋ ์๋ฅผ ๋ณ์๋ผ๊ณ ํ๋ค.
- ๋ณํ ์ ์๋ ๋ฐ์ดํฐ๋ฅผ ๋ง๋ ๋ค. ์ด ๋ฐ์ดํฐ์ ์๋ณ์๋ a๋ก ํ๋ค.
- ๋ณ์๋ ๋ณ๊ฒฝ ๊ฐ๋ฅํ ๋ฐ์ดํฐ๊ฐ ๋ด๊ธธ ์ ์๋ ๊ณต๊ฐ์ด๋ผ๊ณ ํ ์ ์๋ค.
- ์ดํ, a์ ์ ๊ทผํ๊ฒ ๋๋ฉด, ์ปดํจํฐ๋ ๋ฉ๋ชจ๋ฆฌ์์ a๋ผ๋ ์ด๋ฆ์ ๊ฐ์ง ์ฃผ์๋ฅผ ๊ฒ์ํ๊ณ ,
ํด๋น ๊ณต๊ฐ์ ๋ด๊ธด ๋ฐ์ดํฐ๋ฅผ ๋ฐํํ๊ฒ ๋๋ค.
๋ฐ์ดํฐ ํ ๋น 1 : ๋ฌธ์์ด์ ๋ณ์์ ์ ์ฅํ๋ ๊ณผ์
- ์์ ๊ฐ์ด ๋ณ์๋ฅผ ํ ๋นํ๋ ๊ฒฝ์ฐ, ์๋์ ๊ฐ์ ์ผ์ ์ํํ๋ค
- ๋ฉ๋ชจ๋ฆฌ์ ๋ณ์๋ฅผ ์ํ ๊ณต๊ฐ ํ๋ณด
- ํ๋ณดํ ๊ณต๊ฐ์ ์๋ณ์๋ฅผ a๋ก ์ง์
- ๋ฐ์ดํฐ ์์ญ์ ๋น ๊ณต๊ฐ์ ๋ฌธ์์ด 'abc'์ ์ฅ
- ๋ฌธ์์ด 'abc'์ ์ฃผ์๋ฅผ ์๋ณ์๊ฐ a์ธ ๊ณต๊ฐ์ ๋์
๋ฐ์ดํฐ ํ ๋น 2 : ์ ํ๋จ๊ณ ๋ ๊ฑฐ์ณ์ ๋ฌธ์์ด์ ์ ์ฅํ ๊น?
- ์ซ์ํ ๋ฐ์ดํฐ๋ 8๋ฐ์ดํธ๋ก ๊ณ ์ ๋์ง๋ง, ๋ฌธ์์ด์ ๊ฐ๋ณ์ ์ด๋ค.
- ๋ง์ฝ, ๋ณ์์ ๊ฐ์ผ๋ก ๋ฌธ์์ด์ ๋ฐ๋ก ์ ์ฅํ๋ค๋ฉด, ํ๋ณด๋ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ๋ฐ์ดํฐ ํฌ๊ธฐ์ ๋ง๊ฒ ๋๋ฆฌ๊ฑฐ๋ ์ค์ด๋ ์์
์ด ํ์ํ ๊ฒ์ด๋ค.
์ค๊ฐ์ ์๋ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ๋๋ฆฐ๋ค๋ฉด? ๋ค์ ์๋ ๊ณต๊ฐ์ ์ ๋ถ ๋ฐ์ด์ฃผ๊ณ , ๊ฐ๊ฐ์ ์๋ณ์์ ๋ค์ ์ฐ๊ฒฐํด์ฃผ๋ ์์ ์ด ๋ฐ์ํ ๊ฒ์ด๋ค. ์ด๋ฐ ๋ฌด๊ฑฐ์ด ์ฐ์ฐ์ ํผํ๊ธฐ ์ํด, ํ ๋จ๊ณ๋ฅผ ์ถ๊ฐํ ๊ฒ์ด๋ค. - ๋ฐ์ดํฐ ๋์ , ๋ฐ์ดํฐ๊ฐ ์๋ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ์ฃผ์๋ฅผ ๋ณ์์ ๊ฐ์ผ๋ก ๋์ ํ๋ค. ๋ค๋ฅธ ๋ฌธ์์ด ๋ฐ์ดํฐ๋ฅผ ๋ณ์์ ํ ๋นํ๋๋ผ๋, ์๋ก์ด ๋ฌธ์์ด ๋ฐ์ดํฐ์ ์ฃผ์๋ฅผ ๊ฐ์ผ๋ก ๋์ ํ๊ธฐ ๋๋ฌธ์, ์ด๋ฏธ ํ๋ณด๋ ๋ณ์์ ๊ณต๊ฐ์ ๋๋ฆฌ์ง ์์๋ ๋๋ค.
๋ฐ์ดํฐ ํ ๋น 3 : ์๋ก์ด ๋ฌธ์์ด์ ๋์ ํ๋ ๊ฒฝ์ฐ
- 'abcdef'๋ฅผ ์๋ก ๋์ ํ๋ค๋ฉด, ์ด๋ป๊ฒ ๋ ๊น?
- 'abc'๊ฐ ์ ์ฅ๋ ๊ณต๊ฐ์ ๋ณ๊ฒฝํ์ง ์๊ณ , 'abcdef'๋ผ๋ ๋ฌธ์์ด์ ์๋ก ๋ง๋ค์ด์ ๋ณ๋์ ๊ณต๊ฐ์ ์ ์ฅํ๋ค.
- ๊ทธ ์ฃผ์๋ฅผ ๋ณ์์ ์ฐ๊ฒฐํ๋ค.
๋ฐ์ดํฐ ํ ๋น 4 : ์ซ์๋ ๋ง์ฐฌ๊ฐ์ง
- ๋ณ์ 500๊ฐ๋ฅผ ์์ฑํด์, ๊ฐ์ ์ซ์ 5๋ฅผ ํ ๋นํ๋ค๊ณ ์น์
- ์๋ก ๋ค๋ฅธ ๋ณ์ 500๊ฐ๋ฅผ ์์ฑํด์ผ ํ๋,
- ๋ฐ๋ฉด, ์ซ์ ํ์
๋ ๋ฌธ์์ด์ฒ๋ผ, ํ๋จ๊ณ ๊ฑฐ์ณ์ ์ ์ฅํ๋ฉด ์ด๋จ๊น?
์ฃผ์ ๊ณต๊ฐ์ ํฌ๊ธฐ๊ฐ 2๋ฐ์ดํธ๋ผ๊ณ ๊ฐ์ ํ๋ค๋ฉด... - ์ด๋ ๊ฒ ํ๋จ๊ณ ๊ฑฐ์ณ์ ๋ฐ์ดํฐ์ ์ ๊ทผํ๋ ๋ฐฉ๋ฒ์ ์ฌ์ฉํ์ฌ, ์๋ฐ์คํฌ๋ฆฝํธ๋ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๋๋ํ๊ธฐ ํ ๋นํ๋ฉด์๋, ํจ์จ์ ์ผ๋ก ์ฌ์ฉํ ์ ์๊ฒ ํด์ค๋ค.
๋ฉ๋ชจ๋ฆฌ์ ๋ฐ์ดํฐ ์์ฝ
- ์๋ฐ์คํฌ๋ฆฝํธ๋ ๋ณ์์์ญ๊ณผ ๋ฐ์ดํฐ ์์ญ์ ๊ตฌ๋ถํด์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๊ด๋ฆฌํ๋ค
- ๋ณ์์์ญ์ ๊ฐ์๋ ๋ฐ์ดํฐ ์์ญ์ ์ฃผ์๊ฐ ์ ์ฅ๋๋ค. ์ด ์ฃผ์๋ฅผ ์ฐธ์กฐํ๋ฉด, ๋ฐ์ดํฐ ์์ญ์ ๊ณต๊ฐ์ ์ ๊ทผํ ์ ์๊ฒ ๋๋ค.
- ๊ฐ์ ๊ฐ์ ๋ฐ์ดํฐ๋ฅผ ์ฌ๋ฌ ๋ณ์์ ์ ์ฅํ๋ ๊ฒฝ์ฐ ํจ์จ์ ์ผ๋ก ์ฒ๋ฆฌํ ์ ์๊ฒ ๋๋ค.