์๋ฐ์คํฌ๋ฆฝํธ๋ ๋ฐ์ดํฐ๋ฅผ ์ด๋ป๊ฒ ์ ์ฅํ ๊น?
0. ๊ฐ๋ณ๊ฐ๊ณผ ๋ถ๋ณ๊ฐ ์ฑ์ง, ๋ณ์์ ์์
โญ๏ธ์๋ฐ์คํฌ๋ฆฝํธ ๋ฐ์ดํฐ ํ์
์ค ๊ธฐ๋ณธํ์ ๋ชจ๋ ๋ถ๋ณ๊ฐ ์ฑ์ง์ ๋ง์กฑํ๋ค.
์ด ๋ฌธ์ฅ์ ์ดํดํ๊ธฐ ์ ์ ๊ฐ๋ณ๊ฐ = ๋ณ์, ๋ถ๋ณ๊ฐ = ์์๋ผ๋ ๊ฐ๋
์ผ๋ก ์คํดํ๋ฉด ์๋๋ค๋๊ฒ ๊ฐ์ฅ ์ค์ํ๋ค.
์๋ฐ์คํฌ๋ฆฝํธ์ ๊ธฐ๋ณธํ์๋ number, string, bool.. ๋ฑ๋ฑ์ด ์๋ค.
๊ทธ๋ฌ๋ฉด ์ด๊ฒ๋ค์ด ๋ถ๋ณ๊ฐ์ด๋ผ๋๊ฑด ๋ฌด์จ ์๋ฆฌ์ผ๊น?
์ฝ๋๋ฅผ ์๋ฐ์คํฌ๋ฆฝํธ๊ฐ ํด์ํ๊ณ ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฅํ๋ ๊ณผ์ ์ ๋ณด๋ฉด ๋จ๋ฒ์ ์ดํดํ ์ ์๋ค!
1. ๋ถ๋ณ๊ฐ ์ดํดํด๋ณด๊ธฐ
์๋ฐ์คํฌ๋ฆฝํธ๋ ๋ฐ์ดํฐ ์์ญ ๋ฉ๋ชจ๋ฆฌ์ ๋ณ์์์ญ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๋ฐ๋ก ๊ด๋ฆฌํ๋ค.
๋ฐ๋ผ์ ๋ค์๊ณผ ๊ฐ์ ์ฝ๋๋ฅผ ์คํํ๋ฉด ๋ฉ๋ชจ๋ฆฌ์์๋ ๋ค์๊ณผ ๊ฐ์ ํ์์ด ์ผ์ด๋๋ค.
var a = 'abc'
๋น์ฐํ ์๋ณ์์ ๊ฐ์ด ํ๋ฒ์ ์ ์ฅ๋ ์ค ์์์ง๋ง ์๋์๋ค
๋ฐ์ดํฐ๋ง ๋ค์ด์๋ ์์ญ์ ๋ฐ๋ก ๋ง๋ค์ด ๊ทธ ์ฃผ์๋ฅผ ๊ฐ์ผ๋ก ์ฐธ์กฐ์ํจ๋ค.
์์์ ์์๋ณด์๋ฉด ๋ค์๊ณผ ๊ฐ๋ค
- ๋ณ์์์ญ ๋ฉ๋ชจ๋ฆฌ์ ์๋ณ์๊ฐ a์ธ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ํ๋ณด
- ๋ฐ์ดํฐ์์ญ ๋ฉ๋ชจ๋ฆฌ์ 'abc'๋ผ๋ ๋ฐ์ดํฐ๊ฐ ์๋์ง ํ์ธ
- 'abc' ๋ผ๋ ๋ฐ์ดํฐ๊ฐ ์๊ธฐ ๋๋ฌธ์ ๋ฐ์ดํฐ์์ญ ๋ฉ๋ชจ๋ฆฌ์ 'abc'์ ์ฅ
- ๋ณ์ ์์ญ์์ a๋ผ๋ ์๋ณ์ ๊ฒ์ ํ ์๋ณ์์ ๋ํ ๊ฐ์ ๋ฌธ์์ด์ ์ฃผ์(@5004) ๋์
์ฌ๊ธฐ์ ์ค์ํ๊ฑด 2๋ฒ 'abc'๋ผ๋ ๋ฐ์ดํฐ๊ฐ ์๋์ง ํ์ธํ๋ ๊ฑฐ๋ค.
๊ทธ๋ ๋ค๋ฉด ์ฌ๊ธฐ์ var b = 'abc'๋ผ๋ ์ฝ๋๋ฅผ ์ถ๊ฐํ๋ฉด ์ด๋ป๊ฒ ๋ ๊น?
์ด๋ฏธ ์ํ๋ ๋ฐ์ดํฐ๊ฐ ์๊ธฐ ๋๋ฌธ์ 'abc'๊ฐ ๋ด๊ธด ์์๋ฅผ ๊ฐ๋ฅดํจ๋ค.
๋๋ฌธ์ ๋ณ์ ์์ญ ๋ฉ๋ชจ๋ฆฌ์ ๋ฐ์ดํฐ ์์ญ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๋ถ๋ฆฌํ๋ฉด ์ค๋ณต๋ ๋ฐ์ดํฐ์ ๋ํ ์ฒ๋ฆฌ ํจ์จ์ด ๋์์ง๋ค๊ณ ๋ณผ ์ ์๋ค.
๊ทธ๋ฌ๋ฉด ์ด์ ๋ณธ๊ฒฉ์ ์ผ๋ก ๋ถ๋ณ์ฑ์ ๋ํด ์์๋ณด์.
var a = 'abc';
a = a + 'def';
console.log(a);
๋ค์์ ์ถ๋ ฅ๊ฐ์ 'abcdef'๋ค.
๊ทธ๋ ๋ค๋ฉด ์์ ๋ฐ์ดํฐ ์์ญ ๋ฉ๋ชจ๋ฆฌ์์์ 'abc'๊ฐ 'abcdef'๋ก ๋ฐ๋๊ฒ์ผ๊น?
์๋๋ค!
์๋ฐ์คํฌ๋ฆฝํธ๋ ๋ฌด์กฐ๊ฑด ์๋ ๋ฐ์ดํฐ๊ฐ ์๋ค๋ฉด ์๋ก ๋ง๋ค์ด ๋ณ๋์ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ์ ์ฅํ๋ค.
๋ฐ๋ผ์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๋ค์ ์ฝ๋์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๋ณด๋ฉด ๋ค์๊ณผ ๊ฐ๋ค.
๋ฌธ์์ด๋ง์ด ์๋๋ผ ๊ธฐ๋ณธํ ํ์
๋ค์ ๋ชจ๋ ๋ค์๊ณผ ๊ฐ์ ์๋ฆฌ๋ก ์๋ํ๋ค.
โญ๏ธ์ด๋ฌ์ฒจ ํ ๋ฒ ๋ง๋ ๊ฐ์ ๋ฐ๊ฟ ์ ์๊ณ , ์ค์ง ์๋ก ๋ง๋๋ ๋์์ ํตํด์๋ง ๋ณ๊ฒฝ ๋๊ธฐ ๋๋ฌธ์ ๋ถ๋ณ๊ฐ์ ์ฑ์ง์ ๊ฐ์ง๊ณ ์๋ค๊ณ ํ๋๊ฒ์ด๋ค.โญ๏ธ
์ฌ๊ธฐ์ ์์์ผ ํ ๊ฑด ๋ณ์์ ์์๋ฅผ ๊ตฌ๋ถ ์ง๋๊ฑด ๋ณ์ ์์ญ ๋ฉ๋ชจ๋ฆฌ์ด๊ณ
๊ฐ๋ณ์ฑ ๋ถ๋ณ์ฑ์ ๊ตฌ๋ถ ์ง๋๊ฑด ๋ฐ์ดํฐ ์์ญ ๋ฉ๋ชจ๋ฆฌ ๋ผ๋ ํ๊ฐ๋ฆฌ๊ธฐ ์ฌ์ด ์์ฒญ๋ ์ฌ์ค์ด๋ค
2. ๊ฐ๋ณ๊ฐ ์ดํดํด ๋ณด๊ธฐ
๋ชจ๋ ๊ธฐ๋ณธํ ํ์
์ด ๋ถ๋ณ์ฑ์ด๋ผ๋ฉด ๋ชจ๋ ์ฐธ์กฐํ ํ์
์ ๊ฐ๋ณ์ฑ์ผ๊น?
๊ธฐ๋ณธ์ ์ผ๋ก๋ ๊ฐ๋ณ๊ฐ์ด์ง๋ง, ์ค์ ์ ๋ฐ๋ผ ๋ถ๋ณ๊ฐ์ผ๋ก ํ์ฉ ํ ์๋ ์๋ค.
๋ถ๋ณ๊ฐ์ผ๋ก ํ์ฉํ๋ ๊ฑด ๋์ค์ ์์๋ณด๊ณ ๊ฐ๋ณ๊ฐ์ ๋ํด ์์๋ณด์.
์ฐธ์กฐํ ๋ฐ์ดํฐ์ธ ๊ฐ์ฒด๊ฐ ์ ์ฅ๋ ๋๋ ๋ค์๊ณผ ๊ฐ์ ํํ๋ก ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฅ๋๋ค.
var obj1 = {
a: 1,
b: 'bbb',
};
๊ธฐ๋ณธํ ๋ฐ์ดํฐ์ ์ฐจ์ด๋ ๊ฐ์ฒด ๋ณ์ ์์ญ์ด ๋ณ๋๋ก ์กด์ฌํ๋ค๋ ์ ์ด๋ค.
๋ค์ ์ฝ๋๋ฅผ ๋ณด์
var obj1 = {
a: 1,
b: 'abc',
};
obj1.a = 2;
์ฝ๋์ ๋ํ ๋ฉ๋ชจ๋ฆฌ์ ๋ณํ๋ ๋ค์๊ณผ ๊ฐ๋ค.
๊ฐ๋ณ๊ฐ๊ณผ ๋ถ๋ณ๊ฐ์ ๊ตฌ๋ถํ๋ ๋ถ๋ถ์ ๋ฐ์ดํฐ ์์ญ์ด๋ผ๋๊ฑธ ์๋ค.
๊ฐ์ฒด์ ๊ฐ์ด ๋ณํด๋ ๋ฐ์ดํฐ ์์ญ ๋ฉ๋ชจ๋ฆฌ๋ ๊ธฐ์กด์ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ(@7103 ~ ?)์ ๊ทธ๋๋ก ํ์ฉํ๊ณ ์๋ค.
๊ธฐ์กด์ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ๊ทธ๋๋ก ํ์ฉํ๋ฉด์๋ ๊ทธ ์์ ๋ณ์์ ๋ค๋ฅธ ๊ฐ๋ค์ ์ผ๋ง๋ ์ง ๋์
ํ ์ ์๋ค.
๋๋ฌธ์ ์ฐธ์กฐํ ๋ฐ์ดํฐ๋ ๊ฐ๋ณ๊ฐ์ด๋ผ๊ณ ํ๋๊ฒ์ด๋ค.
์ฐธ๊ณ ์๋ฃ: [๋์] ์ฝ์ด ์๋ฐ์คํฌ๋ฆฝํธ