primitive-reference
primitive
๋ป.. ์์์ ์ธ
์๋ฐ์คํฌ๋ฆฝํธ ํ์ ์ค object(๋ฐฐ์ด,ํจ์)๋ง ๋บ ๋๋จธ์ง.
string, number, null, undefined, boolean
ํฌ์คํธ์์ด ํ๋ ์๋ค ์๊ฐํ์.
๋๋ ํฌ์คํธ์์
var a = 7;
var a = 6;๋์ฅ์ ํฌ์คํธ์ a๋
์ด์ ์ 7์ด์๋ ํฌ์คํธ์์ ๋ฒ๋ ค์ง๊ณ ์๋ก ๋ง๋ค์ด์ง ํฌ์คํธ์ 6๋ง ๋จ๋๋ค.
reference
์ฐธ์กฐ
์, ์์ํ์
๋ฉ์ผ์ฃผ์ ๋ฆฌ์คํธ๋ฅผ ์ ๋๋ฐ ํฌ์คํธ์์ ๋๋ฌด ์์์ A4์ฉ์ง๋ก ์ ๋๋ค
๊ทธ๊ฑธ ๋๋ฒ์งธ ์๋์ ๋ฃ๋๋ฐ ํฌ์คํธ์์๋ ์๋์์น๋ฅผ ์ ์๋ค.
ํน์๋,
๋ฉ์ผ์ฃผ์ ๋ฆฌ์คํธ๋ฅผ ์์ด๋ฒ๋ฆด๊น๋ด ํ๋๋ ๋ณต์ฌ๋ฅผ ํ๋ค.
์ด๊ฑด ์ธ๋ฒ์งธ ์๋์ ๋ฃ๊ณ ํฌ์คํธ์์ ์ธ๋ฒ์งธ ์๋์์น๋ผ ์ ์๋ค.
list1๋ list2๊ฐ ๊ณผ์ฐ ๊ฐ์๊น? false! ์ด์ ๋
object(๋ฐฐ์ด,ํจ์)๋ฅผ ์ด๋ค๋ณ์์ ํ ๋นํ๋ค. list1, list2์ธ๋ฐ
list1, list2๋ ํฌ์คํธ์์ด๋ผ ํ ์ ์๋ค. ์ด๋ ํ ์์น๊ฐ! ๊ทธ๋ ๊ธฐ ๋๋ฌธ์ ์๋ก์ ์์น๊ฐ์ด ๋ค๋ฅธ
list1, list2๋ ๋ค๋ฅด๋ค!
true ! ์ด์ ๋ list3์ ์์น๊ฐ์ธ๋ฐ list4์๋ค list3์ ์ฐธ์กฐ๊ฐ์ ๋ฃ์๊ฑฐ๊ธฐ ๋๋ฌธ์ ๊ฐ๋ค!
{num: 2} ์ฐธ์กฐ๊ฐ์ ๊ณ์ ๋ณ์์ ํ ๋นํ์ฌ ์ ์๋ฅผ ํ์๊ณ ๋ณ๊ฒฝ๋ ๊ฐ๋ ๋ฐ์์ด ๋๋ค.
mother.children์ child1, child2์ ์ฐธ์กฐ๊ฐ์ ๋ฃ์๋ค.
๊ทธ ๊ฐ์ ++์ฆ๊ฐ ์์ผฐ๋ค.
mother์ ํ๋กํผํฐ children์๋ ์ํฅ์ ๋ฐ์๊น?
์ํฅ์ ๋ฐ๋๋ค.. ์? var child1, child2๋ฅผ ๋ฐ๋ผ๋ณด๊ณ ์๊ธฐ ๋๋ฌธ์!
1์ฐจ ์์
ํ๋์ฉ ์ดํด๋ณด์..
2์ฐจ ์์
test1
[] ์ด ์์ ์๋ ์์ daughter๋ฅผ ์ฝ ์ฐ์ด์ ๋น๊ตํ๋ค. ๋๋ค primitive ๋ผ ๋น๊ต๋ ๊ฐ๋ฅํ๋ค.
true!
test2
๊ฐ์ mother์ ์์น๋ฅผ ๊ฐ๋ฆฌ์ผ์ true!
3์ฐจ ์์
mother.children์๋ค๊ฐ father.children์ ์์น๋ฅผ ํ ๋นํ์๋ค.
์ด์ mother.children๊ณผ father.children์ ๊ฐ์ ์์น๋ฅผ ๋ฐ๋ผ๋ณด๊ณ ์๋ค.
4์ฐจ ์์
children์ mother.children์ ํ ๋นํ๋ค.
mother.children์๋ father.children์ ํ ๋นํจ.
mother.children์ father.children์ ์์น๊ฐ์ ๊ฐ์ง๊ฒ ๋๊ณ ..
children์ mother.children์ ์์น๊ฐ์ ๊ฐ์ง๊ฒ ๋์ด ๋ค๋ฅด๋ค!
var children์ ๊ฐ์ด ์ ๋ฐ์ดํธ ๋์ง์์.. 'ใ '/
๊ณ์ ์ด ์์๊ฐ ์ดํดํ๊ธฐ ํ๋ค์๋ ์ด์ ๋ ์ ๋ฐ์ดํธ ํ์ด ์๋์๋ค.
mother.children ์ ์๋ก์ด ๊ฐ์ฒด๋ฅผ ์ ์ํ๊ธฐ ๋๋ฌธ์ด๋ค.
children์ ์ฌ์ ํ ์ ๋ฐ์ดํธ๊ฐ ๊ฐ๋ฅํ๊ณ , ์คํ๋ ค ์๋ก์ด ๊ฐ์ฒด๋ฅผ ์ ์ํ๋ค ๊ทธ๋์ ์ฐธ์กฐ๊ฐ์ด ๋ฌ๋ผ์ง๋ค๋ ํด์์ด ๋ ๋ํํ ์ดํดํ๊ธฐ ์ฝ๋ค.
Last updated
Was this helpful?