๋ฐ˜์‘ํ˜•

frontendstudy 2

[๋ชจ๋˜ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ Deep Dive] 16์žฅ ํ”„๋กœํผํ‹ฐ ์–ดํŠธ๋ฆฌ๋ทฐํŠธ(property attribute)๋ž€?

16.1 ๋‚ด๋ถ€ ์Šฌ๋กฏ๊ณผ ๋‚ด๋ถ€ ๋ฉ”์„œ๋“œ ๋‚ด๋ถ€ ์Šฌ๋กฏ (internal slot)๊ณผ ๋‚ด๋ถ€ ๋ฉ”์„œ๋“œ (internal method)๋Š” JS ์—”์ง„์˜ ๊ตฌํ˜„ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์„ค๋ช…ํ•˜๊ธฐ ์œ„ํ•ด ECMAScript ์‚ฌ์–‘์—์„œ ์‚ฌ์šฉํ•˜๋Š” ์˜์‚ฌ ํ”„๋กœํผํ‹ฐ pseudo property์™€ ์˜์‚ฌ ๋ฉ”์„œ๋“œ pseudo method ์ž…๋‹ˆ๋‹ค. ๋ชจ๋“  ๊ฐ์ฒด๋Š” [[Prototype]] ์ด๋ผ๋Š” ๋‚ด๋ถ€ ์Šฌ๋กฏ์„ ๊ฐ–์Šต๋‹ˆ๋‹ค. ๋‚ด๋ถ€ ์Šฌ๋กฏ์€ JS ์—”์ง„์˜ ๋‚ด๋ถ€ ๋กœ์ง์ด๋ฏ€๋กœ ์›์น™์ ์œผ๋กœ ์ง์ ‘ ์ ‘๊ทผํ•  ์ˆ˜ ์—†์ง€๋งŒ __proto__๋ฅผ ํ†ตํ•ด ๊ฐ„์ ‘ ์ ‘๊ทผ์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. 16.2 ํ”„๋กœํผํ‹ฐ ์–ดํŠธ๋ฆฌ๋ทฐํŠธ์™€ ํ”„๋กœํผํ‹ฐ ๋””์Šคํฌ๋ฆฝํ„ฐ ๊ฐ์ฒด Js ์—”์ง„์€ ํ”„๋กœํผํ‹ฐ๋ฅผ ์ƒ์„ฑํ•  ๋•Œ ํ”„๋กœํผํ‹ฐ์˜ ์–ดํŠธ๋ฆฌ๋ทฐํŠธ๋ฅผ ๊ธฐ๋ณธ๊ฐ’์œผ๋กœ ์ž๋™ ์ •์˜ํ•ฉ๋‹ˆ๋‹ค. ํ”„๋กœํผํ‹ฐ์˜ ์ƒํƒœ๋ž€ ๊ฐ’ (value), ๊ฐ’์˜ ๊ฐฑ์‹  ๊ฐ€๋Šฅ ์—ฌ๋ถ€ (writable), ์—ด๊ฑฐ..

[๋ชจ๋˜ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ Deep Dive] 10์žฅ ๊ฐ์ฒด ๋ฆฌํ„ฐ๋Ÿด

* 07์žฅ ์—ฐ์‚ฐ์ž, 08์žฅ ์กฐ๊ฑด๋ฌธ, 09์žฅ ์ผ๋ถ€ ๋ถ€๋ถ„์€ ํŒจ์Šคํ•ฉ๋‹ˆ๋‹ค. * 9.1 ํƒ€์ž… ๋ณ€ํ™˜์ด๋ž€? ๊ฐœ๋ฐœ์ž๊ฐ€ ์˜๋„์ ์œผ๋กœ ๊ฐ’์˜ ํƒ€์ž…์„ ๋ณ€ํ™˜ํ•˜๋Š” ๊ฒƒ์„ ๋ช…์‹œ์  ํƒ€์ž… ๋ณ€ํ™˜ ๋˜๋Š” ํƒ€์ž… ์บ์ŠคํŒ…์ด๋ผ ํ•ฉ๋‹ˆ๋‹ค. ๊ฐœ๋ฐœ์ž์™€ ์˜๋„์™€ ์ƒ๊ด€์—†์ด JS์—”์ง„์— ์˜ํ•ด ์•”๋ฌต์ ์œผ๋กœ ํƒ€์ž…์ด ๋ณ€ํ™˜๋˜๊ธฐ๋„ ํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฅผ ์•”๋ฌต์  ํƒ€์ž… ๋ณ€ํ™” ๋˜๋Š” ํƒ€์ž… ๊ฐ•์ œ ๋ณ€ํ™˜์ด๋ผ ํ•ฉ๋‹ˆ๋‹ค. 9.2 ์•”๋ฌต์  ํƒ€์ž… ๋ณ€ํ™˜ JS์—”์ง„์€ ํ‘œํ˜„์‹์„ ํ‰๊ฐ€ํ•  ๋•Œ ์ฝ”๋“œ์˜ ๋ฌธ๋งฅ์„ ๊ณ ๋ คํ•ด ์•”๋ฌต์ ์œผ๋กœ ๋ฐ์ดํ„ฐ ํƒ€์ž…์„ ๊ฐ•์ œ ๋ณ€ํ™˜ ํ•  ๋•Œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. '10' + 2 // '102' 7 * '10' // 70 9.4 ๋‹จ์ถ• ํ‰๊ฐ€ 9.4.4 ์˜ต์…”๋„ ์ฒด์ด๋‹ ์—ฐ์‚ฐ์ž ES11์— ๋„์ž…๋œ ์˜ต์…”๋„ ์ฒด์ด๋‹ ์—ฐ์‚ฐ์ž ?. ๋Š” ์ขŒํ•ญ์˜ ํ”ผ์—ฐ์‚ฐ์ž๊ฐ€ null ๋˜๋Š” undefined์ธ ๊ฒฝ์šฐ undefined๋ฅผ ๋ฐ˜ํ™˜ํ•˜๊ณ , ์•„๋‹ˆ๋ผ๋ฉด ..

๋ฐ˜์‘ํ˜•