[ES5] ๐Ÿ“ Lexical Environment โญ

Mec.D's Blogยท2022๋…„ 5์›” 31์ผ
0

JS ES6+ ๋น„๊ณต์‹ ๋…ธํŠธ

๋ชฉ๋ก ๋ณด๊ธฐ
8/17
post-thumbnail

๐Ÿ’ก Lexical Environment

์‹คํ–‰ ์ปจํ…์ŠคํŠธ๋ฅผ ๊ตฌ์„ฑํ•˜๋Š” ํ™˜๊ฒฝ ์ •๋ณด ์‚ฌ์ „์ž…๋‹ˆ๋‹ค.


๊ตฌ์„ฑ ์š”์†Œ

๐Ÿ’ก environmentRecord

ํ˜„์žฌ ์ปจํ…์ŠคํŠธ์˜ ์‹๋ณ„์ž ์ •๋ณด๋ฅผ ์ˆ˜์ง‘ํ•ฉ๋‹ˆ๋‹ค.

  1. ๐Ÿ…ฐ Creation Phase
    ์‹คํ–‰ ์ปจํ…์ŠคํŠธ๊ฐ€ ์ƒ์„ฑ๋˜๋Š” Creation Phase์— environmentRecord์— ์‹๋ณ„์ž ์„ ์–ธ ์ •๋ณด๊ฐ€ ๋‹ด๊น๋‹ˆ๋‹ค.

  2. ํ˜ธ์ด์ŠคํŒ… (Hoisting)
    environmentRecord์˜ ๋™์ž‘์„ ์„ค๋ช…ํ•˜๊ธฐ ์œ„ํ•ด ๋งŒ๋“ค์–ด์ง„ ๊ฐ€์ƒ์˜ ๊ฐœ๋…์ž…๋‹ˆ๋‹ค.


๐Ÿ’ก outerEnvironmentReference

์ฝœ ์Šคํƒ์—์„œ ๋ฐ”๋กœ ์•„๋ž˜์— ์žˆ๋Š” LexicalEnvironment์— ๋Œ€ํ•œ ์ฐธ์กฐ๋ฅผ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค.

  1. ๋‹จ๋ฐฉํ–ฅ Linked List
    ์‹คํ–‰ ์ปจํ…์ŠคํŠธ๋ฅผ ์ฝœ ์Šคํƒ ์œ„์—์„œ ์•„๋ž˜์ชฝ์„ ๊ฐ€๋ฆฌํ‚ค๋Š” ๋‹จ๋ฐฉํ–ฅ Linked List๋กœ ๋งŒ๋“ค์–ด์ค๋‹ˆ๋‹ค.

  2. ์Šค์ฝ”ํ”„ ์ฒด์ธ (Scope Chain)
    outerEnvironmentReference๋ฅผ ์ด์šฉํ•œ ์ƒ์œ„ ์‹คํ–‰ ์ปจํ…์ŠคํŠธ ํƒ์ƒ‰์„ ์Šค์ฝ”ํ”„ ์ฒด์ธ์ด๋ผ๊ณ  ๋ถ€๋ฆ…๋‹ˆ๋‹ค.

profile
๊ธฐ์ˆ ๋กœ ๋” ๋‚˜์€ ๋ฏธ๋ž˜๋ฅผ ๋””์ž์ธํ•˜๋Š” ๊ฐœ๋ฐœ์ž MEC:D ์ž…๋‹ˆ๋‹ค

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