ํด๋ก์ (closure)๋ ์๋ฐ์คํฌ๋ฆฝํธ ๊ณ ์ ์ ๊ฐ๋ ์ด ์๋ ํจ์ํ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์์ ์ฌ์ฉ๋๋ ์ค์ํ ํน์ฑ์ผ๋ก MDN์์๋ ํด๋ก์ ๋ฅผ "ํจ์์ ๊ทธ ํจ์๊ฐ ์ ์ธ๋ ๋ ์์ปฌ ํ๊ฒฝ๊ณผ์ ์กฐํฉ"์ด๋ผ๊ณ ์ ์ํฉ๋๋ค. ๋ฐ๋ผ์ ํด๋ก์ ๋ฅผ ์ดํดํ๊ธฐ ์ํด์ ํจ์๊ฐ ์ ์ธ๋ ๋ ์์ปฌ ํ๊ฒฝ์ ๋ํด ์์์ผํฉ๋๋ค. ๋ ์์ปฌ ์ค์ฝํ ์๋ฐ์คํฌ๋ฆฝํธ ์์ง์ ํจ์๋ฅผ ์ด๋์ ์ ์ํ๋์ง์ ๋ฐ๋ผ ์์ ์ค์ฝํ์ธ ๋ ์์ปฌ ์ค์ฝํ(์ ์ ์ค์ฝํ)๋ฅผ ๊ฒฐ์ ํฉ๋๋ค. const x = 1; function foo () { const x = 10; bar(); } function bar () { console.log(X); } foo(); // 1 bar(); // 1 ์ ์์ ์ foo ํจ์์ bar ํจ์๋ ๋ชจ๋ ์ ์ญ์์ ์ ์๋ ์ ์ญ ํจ์๋ก foo ํจ์์ bar ํจ์ ๋ชจ๋ ..
์คํ ์ปจํ ์คํธ(execution context)๋? ์คํ ์ปจํ ์คํธ๋ ์์ค์ฝ๋๋ฅผ ์คํํ๋ ๋ฐ ํ์ํ ํ๊ฒฝ์ ์ ๊ณตํ๊ณ ์ฝ๋์ ์คํ ๊ฒฐ๊ณผ๋ฅผ ์ค์ ๋ก ๊ด๋ฆฌํ๋ ์์ญ์ผ๋ก ์๋ฐ์คํฌ๋ฆฝํธ์ ๋์ ์๋ฆฌ๋ฅผ ๋ด๊ณ ์๋ ํต์ฌ ๊ฐ๋ ์ ๋๋ค. ์์ค์ฝ๋์ ํ์ ECMAScript ์ฌ์์ ์์ค์ฝ๋๋ฅผ 4๊ฐ์ง ํ์ ์ผ๋ก ๊ตฌ๋ถํ๋๋ฐ ํ์ ์ ๋ฐ๋ผ ์คํ ์ปจํ ์คํธ๋ฅผ ์์ฑํ๋ ๊ณผ์ ๊ณผ ๊ด๋ฆฌ ๋ด์ฉ์ด ๋ค๋ฆ ๋๋ค. ์์ค์ฝ๋ ํ์ ์ค๋ช ์ ์ญ ์ฝ๋ - ์ ์ญ์ ์กด์ฌํ๋ ์์ค์ฝ๋ - ์ต์์ ์ค์ฝํ์ธ ์ ์ญ ์ค์ฝํ ์์ฑ - ์ ์ญ ์ฝ๋๊ฐ ํ๊ฐ๋๋ฉด ์ ์ญ ์คํ ์ปจํ ์คํธ๊ฐ ์์ฑ ํจ์ ์ฝ๋ - ํจ์ ๋ด๋ถ์ ์กด์ฌํ๋ ์์ค์ฝ๋ - ์ง์ญ ์ค์ฝํ๋ฅผ ์์ฑ - ํจ์ ์ฝ๋๊ฐ ํ๊ฐ๋๋ฉด ํจ์ ์คํ ์ปจํ ์คํธ๊ฐ ์์ฑ eval ์ฝ๋ - ๋นํธ์ธ ์ ์ญ ํจ์์ธ eval ํจ์์ ์ธ์๋ก ์ ๋ฌ๋์ด ์คํ๋๋ ์..
- Total
- Today
- Yesterday
- TDD
- ํจ์ํ ํ๋ก๊ทธ๋๋ฐ
- ๋ฐฑ์ค node.js
- ๋ชจ๋ ์๋ฐ์คํฌ๋ฆฝํธ deep dive
- ์ ์ญ ๋ณ์
- ๋ค์ด๋๋ฏน ํ๋ก๊ทธ๋๋ฐ
- JavaScript
- ํ๋ก๊ทธ๋๋จธ์ค
- http
- ํฌํฌ์ธํฐ
- ๋ฐฑ์ค
- ํ๋กํผํฐ
- map
- ์๊ณ ๋ฆฌ์ฆ
- ์๋ฐ์คํฌ๋ฆฝํธ
- ๋ ์์ปฌ ํ๊ฒฝ
- ์ด์์ฒด์
- ์นด์นด์ค ์ธํด
- ๋คํธ์ํฌ
- git
- ์ฝ๋ฉํ ์คํธ
- ๊ฐ์ฒด์งํฅ ํ๋ก๊ทธ๋๋ฐ
- ๋์์ธ ํจํด
- ํ๋กํ ์ฝ
- ๋ฐฑ์ค javascript
- fp
- 2019 ์นด์นด์ค ๊ฐ๋ฐ์ ๊ฒจ์ธ ์ธํด
- ์ด๋ถํ์
- Baekjoon
- ์๋ฐ
์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |