๐ ๊ฐ์ฒด ๊ฐ ๋น๊ตํ๊ธฐ
๊ฐ์ฒด ์ฌ์ด์ ๋น๊ต ์ฐ์ฐ์ ํ ๋
๊ฐ์ฒด๊ฐ ์๋ ์ซ์, ๋ฌธ์์ด, ๋ถ ๊ฐ, null, undefined ๋ ๋ชจ๋ true ๋ฅผ ๋ฐ์ํ๋ค.
{} === {}
=> false
//์ฝ๋ ์ถ์ฒ (๋์)Let's Get IT ์๋ฐ์คํฌ๋ฆฝํธ ํ๋ก๊ทธ๋๋ฐ
'str' === 'str';
123 === 123;
false === false;
null === null;
undefined === undefined;
==> true
//์ฝ๋ ์ถ์ฒ (๋์)Let's Get IT ์๋ฐ์คํฌ๋ฆฝํธ ํ๋ก๊ทธ๋๋ฐ
๊ฐ์ฒด๋ ๋ชจ์์ด ๊ฐ์๋ ์์ฑํ ๋๋ง๋ค ์๋ก์ด ๊ฐ์ฒด๊ฐ ์์ฑ๋๋ค. ๋ฐ๋ผ์ ๊ฐ์ ๊ฐ์ฒด์ธ์ง ๋น๊ตํ๋ ค๋ฉด ๊ธฐ์กด ๊ฐ์ฒด๋ฅผ ๋ณ์์ ์ ์ฅํด ๋์ด์ผ ํ๋ค.
const a = { name: 'irro' };
const array = [1, 2, a];
onsole.log(a === array[2]);
=> true
//์ฝ๋ ์ถ์ฒ (๋์)Let's Get IT ์๋ฐ์คํฌ๋ฆฝํธ ํ๋ก๊ทธ๋๋ฐ
๐ ์ฐธ์กฐ์ ๋ณต์ฌ
๊ฐ์ฒด๋ฅผ ์ฌ์ฉํ ๋ ์์์ผ ํ๋ ๊ฐ๋ . ์ฐธ์กฐ ( reference ) ์ด๋ค.
const a = { name: 'irro' };
const b = a;
a.name = 'hero';
console.log(b.name);
=> hero
//์ฝ๋ ์ถ์ฒ (๋์)Let's Get IT ์๋ฐ์คํฌ๋ฆฝํธ ํ๋ก๊ทธ๋๋ฐ
๋ณ์ b ์ a ๋ฅผ ๋์ ํ ์ํฉ์ด๋ค. a ๋ณ์์ name ์์ฑ ๊ฐ์ ๋ณ๊ฒฝํ๋ฉด์ b ๋ณ์๋ ๊ฐ์ด ๋ณ๊ฒฝ๋๋ค.
๊ฐ์ฒด๋ฅผ ์ ์ฅํ ๋ณ์๋ฅผ ๋ค๋ฅธ ๋ณ์์ ๋์ ํ๋ฉด ๋ ๋ณ์ ๋ชจ๋ ๊ฐ์ ๊ฐ์ฒด๋ฅผ ์ ์ฅํ๋ ์ ์ด๋ค.
์ด๋ฌํ ์ํฉ์ผ ๋ ๋ณ์ a ์ b ๊ฐ ๊ฐ์ ๊ฐ์ฒด๋ฅผ ์ฐธ์กฐํ๊ณ ์๋ค๊ณ ํํํ๋ค.
๋๋ a ์ b ๊ทธ๋ฆฌ๊ณ ๊ฐ์ฒด ๊ฐ์ ์ฐธ์กฐ ๊ด๊ณ๊ฐ ์๋ค๊ณ ํํํ๋ค.

๋ค๋ง, ๊ฐ์ฒด๊ฐ ์๋ ๊ฐ ( ๋ฌธ์์ด, ์ซ์, ๋ถ ๊ฐ, null, undefined ) ์ ๊ฒฝ์ฐ๋ ๋ค๋ฅด๋ค.
let a = 'irro'; //๊ฐ์ฒด๊ฐ ์๋ ๋ฌธ์์ด์ด๋ค.
let b = a;
a = 'hero';
console.log(b);
=> irro
//์ฝ๋ ์ถ์ฒ (๋์)Let's Get IT ์๋ฐ์คํฌ๋ฆฝํธ ํ๋ก๊ทธ๋๋ฐ
a ๋ฅผ ๋ฐ๊ฟจ๋๋ฐ b ๋ ์ํฅ์ ๋ฐ์ง ์๋๋ค.
๊ฐ์ฒด๊ฐ ์๋ ๊ฐ์ ๋ณ์์ ์ ์ฅํ ๊ฒฝ์ฐ์๋ ์ฐธ์กฐ ๊ด๊ณ๊ฐ ์๊ธฐ์ง ์๊ธฐ ๋๋ฌธ์ด๋ค.
์ด๋ ๊ฒ ์ฐธ์กฐ๊ฐ ์๊ธฐ์ง ์๋ ์ํฉ์ ๋ณต์ฌ ( copy ) ๋ผ๊ณ ํ๋ค.
-(๋์) Let's Get IT ์๋ฐ์คํฌ๋ฆฝํธ ํ๋ก๊ทธ๋๋ฐ
๋๋ถ(TheBook): Let's Get IT ์๋ฐ์คํฌ๋ฆฝํธ ํ๋ก๊ทธ๋๋ฐ
thebook.io
-(๊ฐ์ข) ๋ ์ธ ๊ธฐ๋ฆฟ ์๋ฐ์คํฌ๋ฆฝํธ
[๋ฌด๋ฃ] [๋ฆฌ๋ด์ผ] ๋ ์ธ ๊ธฐ๋ฆฟ ์๋ฐ์คํฌ๋ฆฝํธ - ์ธํ๋ฐ | ๊ฐ์
๋ณธ ๊ฐ์์์๋ ์๋ฐ์คํฌ๋ฆฝํธ๋ฅผ ํ์ฉํด ํ๋ก๊ทธ๋๋ฐ ์ฌ๊ณ ๋ ฅ์ ๊ธฐ๋ฅด๋ ์ฐ์ต์ ํฉ๋๋ค. ์น ๊ฒ์์ธ ๊ตฌ๊ตฌ๋จ์ ์์์ผ๋ก ๋๋ง์๊ธฐ, ์ซ์ ์ผ๊ตฌ, ๋ฐ์ ์๋ ํ ์คํธ, ํฑํํ , ๋ก๋ ์ถ์ฒจ๊ธฐ, ๊ฐ์๋ฐ์๋ณด, ์นด
www.inflearn.com