์๋ฐ์คํฌ๋ฆฝํธ๊ฐ ์ ๊ณตํ๋ 7๊ฐ์ง ๋ฐ์ดํฐ ํ์ ์ ํฌ๊ฒ ์์ ํ์ ๊ณผ ๊ฐ์ฒด ํ์ ์ผ๋ก ๊ตฌ๋ถ ํ ์ ์๋ค.
์์ ํ์ ์ ๊ฐ, ์ฆ ์์ ๊ฐ์ ๋ณ๊ฒฝ ๋ถ๊ฐ๋ฅํ ๊ฐ์ด๋ค. ์ด์ ๋นํด ๊ฐ์ฒด ํ์ ์ ๊ฐ, ์ฆ ๊ฐ์ฒด๋ ๋ณ๊ฒฝ ๊ฐ๋ฅํ ๊ฐ์ด๋ค.
์์ ๊ฐ์ ๋ณ์์ ํ ๋นํ๋ฉด ๋ณ์(ํ๋ณด๋ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ)์๋ ์ค์ ๊ฐ์ด ์ ์ฅ๋๋ค. ์ด์ ๋นํด ๊ฐ์ฒด๋ฅผ ๋ณ์์ ํ ๋นํ๋ฉด ๋ณ์(ํ๋ณด๋ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ)์๋ ์ฐธ์กฐ ๊ฐ์ด ์ ์ฅ๋๋ค.
์์ ๊ฐ์ ๊ฐ๋ ๋ณ์๋ฅผ ๋ค๋ฅด ๋ณ์์ ํ ๋นํ๋ฉด ์๋ณธ์ ์์ ๊ฐ์ด ๋ณต์ฌ๋์ด ์ ๋ฌ๋๋ค. ์ด๋ฅผ ๊ฐ์ ์ํ ์ ๋ฌ์ด๋ผ ํ๋ค. ์ด์ ๋นํด ๊ฐ์ฒด๋ฅผ ๊ฐ๋ฆฌํค๋ ๋ณ์๋ฅผ ๋ค๋ฅด๋ณ์์ ํ ๋นํ๋ฉด ์๋ณธ์ ์ฐธ์กฐ ๊ฐ์ด ๋ณต์ฌ๋์ด ์ ๋ฌ๋๋ค ์ด๋ฅผ ์ฐธ์กฐ์ ์ํ ์ ๋ฌ์ด๋ผ ํ๋ค.
โญ๏ธ ์์ ๊ฐ
์์ ํ์ ์ ๊ฐ, ์ฆ ์์ ๊ฐ์ ๋ณ๊ฒฝ ๋ถ๊ฐ๋ฅํ ๊ฐ์ด๋ค.
๋ณ์๋ ํ๋์ ๊ฐ์ ์ ์ฅํ๊ธฐ ์ํด ํ๋ณดํ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ ์์ฒด ๋๋ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ์๋ณํ๊ธฐ ์ํด ๋ถ์ธ ์ด๋ฆ, ๊ฐ์ ๋ณ์์ ์ ์ฅ๋ ๋ฐ์ดํฐ๋ก์ ํํ์์ด ํ๊ฐ๋์ด ์์ฑ๋ ๊ฒฐ๊ณผ๋ฅผ ๋งํจ. ์ฆ, ๋ณ๊ฒฝ ๋ถ๊ฐ๋ฅํ๋ค๋ ๊ฒ์ ๋ณ์๊ฐ ์๋ ๊ฐ์ ๋ํ ์ง์ ์ด๋ค.
// const ํค์๋๋ฅผ ์ฌ์ฉํด ์ ์ธํ ๋ณ์๋ ์ฌํ ๋น์ด ๊ธ์ง๋๋ค. ์์๋ ์ฌํ ๋น์ด ๊ธ์ง๋ ๋ณ์์ผ ๋ฟ์ด๋ค.
const o = {};
// const ํค์๋๋ฅผ ์ฌ์ฉํด ์ ์ธํ ๋ณ์์ ํ ๋นํ ์์ ๊ฐ(์์)์ ๋ณ๊ฒฝํ ์ ์๋ค.
// ํ์ง๋ง const ํค์๋๋ฅผ ์ฌ์ฉํด ์ ์ธํ ๋ณ์์ ํ ๋นํ ๊ฐ์ฒด๋ ๋ณ๊ฒฝํ ์ ์๋ค.
o.a = 1;
conosole.log(o); {a:1}
โญ๏ธ ๊ฐ์ฒด
๊ฐ์ฒด(์ฐธ์กฐ) ํ์ ์ ๊ฐ, ์ฆ ๊ฐ์ฒด๋ ๋ณ๊ฒฝ ๊ฐ๋ฅํ ๊ฐ์ด๋ค.
์์ ๊ฐ์ ๋ณ๊ฒฝ ๋ถ๊ฐ๋ฅํ ๊ฐ์ด๋ฏ๋ก ์์ ๊ฐ์ ๊ฐ๋ ๋ณ์์ ๊ฐ์ ๋ณ๊ฒฝํ๋ผ๋ฉด ์ฌํ ๋น ์ธ์๋ ๋ฐฉ๋ฒ์ด ์๋ค. ํ์ง๋ง ๊ฐ์ฒด๋ ๋ณ๊ฒฝ ๊ฐ๋ฅํ ๊ฐ์ด๋ค. ๋ฐ๋ผ์ ๊ฐ์ฒด๋ฅผ ํ ๋นํ ๋ณ์๋ ์ฌํ ๋น ์์ด ๊ฐ์ฒด๋ฅผ ์ง์ ๋ณ๊ฒฝํ ์ ์๋ค.์ฆ, ์ฌํ ๋น ์์ด ํ๋กํผํฐ๋ฅผ ๋์ ์ผ๋ก ์ถ๊ฐํ ์๋ ์๊ณ ํ๋กํผํฐ ๊ฐ์ ๊ฐฑ์ ํ ์๋ ์์ผ๋ฉฐ ํ๋กํผํฐ ์์ฒด๋ฅผ ์ญ์ ํ ์๋ ์๋ค.
var person = {
name: 'Lee'
};
//ํ๋กํผํฐ ๊ฐ ๊ฐฑ์
person.name = "Kim";
//ํ๋กํผํฐ ๋์ ์์ฑ
person.address = 'Seoul';
console.log(person); // {name: "kim", address: "Seoul"}
// ์์ฑ
var person = {
name: 'Lee'
};
// ์ฐธ์กฐ ๊ฐ์ ๋ณต์ฌ(์์ ๋ณต์ฌ)
var copy = person;
๊ฐ์ฒด๋ฅผ ๊ฐ๋ฆฌํค๋ ๋ณ์๋ฅผ ๋ค๋ฅธ ๋ณ์์ ํ ๋นํ๋ฉด ์๋ณธ์ ์ฐธ์กฐ ๊ฐ์ด ๋ณต์ฌ๋์ด ์ ๋ฌ๋๋ค. ์ด๋ฅผ ์ฐธ์กฐ์ ์ํ ์ ๋ฌ์ด๋ผ ํ๋ค.