JavaScript ๋ฌธ๋ฒ• - prototype

๋ฐฑ์—”๋“œยท2020๋…„ 11์›” 20์ผ
0

Javascript ๋ฌธ๋ฒ•

๋ชฉ๋ก ๋ณด๊ธฐ
11/16

๐ŸŽ– prototype์— ๋Œ€ํ•ด ์•Œ์•„๋ณด์ž


๐Ÿ“Œ ์ค‘์š” ๊ฐœ๋…(์•„๋ž˜์˜ ๊ทธ๋ฆผ์„ ์ดํ•ดํ•˜์ž)

์ƒ์„ฑ์ž ํ•จ์ˆ˜๊ฐ€ ์žˆ์„๋•Œ, new ์—ฐ์‚ฐ์ž๋ฅผ ์‚ฌ์šฉํ•ด instance๋ฅผ ๋งŒ๋“ค๋ฉด, ์ƒ์„ฑ์ž ํ•จ์ˆ˜์˜ prototype๋ผ๋Š” property๊ฐ€ instance์˜ __proto__ ๋ผ๋Š” property์— ์ „๋‹ฌ์ด ๋œ๋‹ค.
์ฆ‰, ์ƒ์„ฑ์ž ํ•จ์ˆ˜์˜ prototype์™€ instance์˜ __proto__๋ผ๊ณ  ํ•˜๋Š” property๋Š” ๊ฐ™์€ ๊ฐ์ฒด๋ฅผ ์ฐธ์กฐํ•œ๋‹ค.

โœ” __proto__๋Š” ๋‚ด๋ถ€ property์— ์ ‘๊ทผํ•  ๋•Œ, ์ƒ๋žต ๊ฐ€๋Šฅํ•˜๋‹ค


์˜ˆ์ œ๋ฅผ ํ†ตํ•ด ๋ณธ๊ฒฉ์ ์œผ๋กœ prototype๋ฅผ ์ดํ•ดํ•ด๋ณด์žโ•โ•

๐ŸŽฌ ์˜ˆ์ œ 1

์ƒ์„ฑ์ž ํ•จ์ˆ˜ Array๋ฅผ console.dir()์„ ํ†ตํ•ด ์ถœ๋ ฅํ•ด๋ณด์ž.

  • Array์— ๋‹ค์–‘ํ•œ property๊ฐ€ ์žˆ๋Š” ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ๊ณ , ๊ทธ ์ค‘์—์„œ prototype๋ฅผ ์ฃผ์˜ ๊นŠ๊ฒŒ ๋ณด์ž

์œ„์—์„œ ๋งํ–ˆ๋“ฏ์ด, instance์˜ __proto__๋ผ๊ณ  ํ•˜๋Š” property๋Š” ์ƒ์„ฑ์ž ํ•จ์ˆ˜์˜ prototype ๋ผ๊ณ  ํ•˜๋Š” property์™€ ๊ฐ™์€ ๊ฐ์ฒด๋ฅผ ๊ฐ€๋ฆฌํ‚จ๋‹ค๊ณ  ํ•˜์˜€๋Š”๋ฐ ์ •๋ง์ธ์ง€ ์‚ดํŽด๋ณด์ž

  • console.dir()์„ ํ†ตํ•ด instance๋ฅผ ์ถœ๋ ฅํ•œ ๊ฒฐ๊ณผ, __proto__ property์—์„œ prototype property ์—์„œ ๋ณด์•˜๋˜ ๋‹ค์–‘ํ•œ property๋“ค์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

2ํŽธ์—์„œ ๊ณ„์†

ref

profile
๋ฐฑ์—”๋“œ ๊ฐœ๋ฐœ์ž

0๊ฐœ์˜ ๋Œ“๊ธ€

๊ด€๋ จ ์ฑ„์šฉ ์ •๋ณด