#
๊ฐ์ฒด๊ฐ์ฒด๋ ๋ฌธ์ํ์ผ๋ก๋ ํค(key)์ ๋ชจ๋ ์๋ฃํ์ ์ฌ์ฉํ ์ ์๋ ๊ฐ(value) ์์ผ๋ก ๊ตฌ์ฑ๋ ์ฌ๋ฌ ํ๋กํผํฐ(property)์ ์งํฉ์ด๋ค. ํ๋กํผํฐ์ ๊ฐ์ผ๋ก ํจ์๊ฐ ๋ ์ ์๋๋ฐ, ์ด ๊ฒฝ์ฐ ๋ฉ์๋(method)๋ผ๊ณ ๋ถ๋ฆฐ๋ค.
๊ฐ์ฒด๋ ๊ณ ์ ์ ํจํค์ง์ ์ ๋ณด๋ฅผ ์์ ํ๊ฒ ๋ณดํธํด์ฃผ๋ ์ญํ ์ ํ๋ค.
JavaScript์์ ๊ฐ์ฒด๋ฅผ ๋ง๋๋ ๋ฐฉ๋ฒ์๋ ํฌ๊ฒ 2๊ฐ์ง๊ฐ ์๋ค. (์ถ๊ฐ์ ์ผ๋ก Object.create()
๋ฅผ์ด์ฉํ๋ ๋ฐฉ๋ฒ์ด ์๋ค.)
let obj1 = new Object(); // '๊ฐ์ฒด ์์ฑ์' ๋ฌธ๋ฒlet obj2 = {}; // '๊ฐ์ฒด ๋ฆฌํฐ๋ด' ๋ฌธ๋ฒ
๋ ๋ฐฉ๋ฒ์ ์ฐจ์ด๊ฐ ์๋ค.
Object๊ฐ ์๋ ๋ค๋ฅธ ์์ฑ์ ํจ์๋ ํด๋์ค๋ฅผ ์ฌ์ฉํด์ ์์ฑํ ๋, ์ฐจ์ด๊ฐ ๋ฐ์ํ๋ค. ์ด ์ฐจ์ด์ ํต์ฌ์ ํ๋กํ ํ์ ๊ฐ์ฒด
([[Prototype]])
์ ์๋ค.
#
๊ฐ์ฒด ์ ๋ ฌ ๋ฐฉ์"ํ๋กํผํฐ์ ์์๊ฐ ์์๊น?"
์ ์ ํ๋กํผํฐ๋ ์๋์ผ๋ก ์ ๋ ฌ๋๊ณ , ๊ทธ ์ธ์ ํ๋กํผํฐ๋ ๊ฐ์ฒด์ ์ถ๊ฐํ ์์๋๋ก ์ ๋ ฌ๋๋ค. ์ฐธ๊ณ