์๋ฐ์คํฌ๋ฆฝํธ13 ์ฝ๋ฐฑ ํจ์(Callback) ์๋ฐ์คํฌ๋ฆฝํธ์์ ๋น๋๊ธฐ๋ฅผ ์ฒ๋ฆฌํ ๋ callback๊ณผ promise๋ฅผ ์ฌ์ฉํ๊ฒ ๋๋ค. ๋จผ์ callback ํจ์์ ๋ํด์ ์์๋ณด์ ๋น๋๊ธฐ ์ฒ๋ฆฌ? ์๋ฐ์คํฌ๋ฆฝํธ์ ๋น๋๊ธฐ ์ฒ๋ฆฌ๋ ํน์ ์ฝ๋์ ์ฐ์ฐ์ด ๋๋ ๋๊น์ง ์ฝ๋์ ์คํ์ ๋ฉ์ถ์ง ์๊ณ ๋ค์ ์ฝ๋๋ฅผ ๋จผ์ ์คํํ๋ ์๋ฐ์คํฌ๋ฆฝํธ์ ํน์ฑ์ ์๋ฏธํฉ๋๋ค. ํ๋ก์ ํธ ์ํ์ ํด๋ผ์ด์ธํธ์ ์๋ฒ ๊ฐ ๋ฐ์ดํฐ๋ฅผ ์ฃผ๊ณ ๋ฐ๋ ๊ณผ์ ์ด ํ์ํ๋ค. ์ด๋ฅผ ์ํด HTTP ํต์ ์ ์ฌ์ฉํ๊ฒ ๋๋๋ฐ ์ด๋ ๋น๋๊ธฐ์ฒ๋ฆฌ์ ๋ฌธ์ ์ ์ด ๋ฐ์ํ๊ฒ ๋๋ค. ์๋์ ajax ํต์ ์ฌ๋ก๋ฅผ ํตํด ์์๋ณด์ function getData() { var tableData; $.get('https://domain.com/products/1', function(response) { tableData = response; }).. 2022. 11. 3. this์ ์ฉ๋ฒ ํต์ฌ ๋๋ถ๋ถ์ ๊ฒฝ์ฐ, this์ ๊ฐ์ ํจ์๋ฅผ ํธ์ถํ๋ ๋ฐฉ๋ฒ์ ์ํด ๊ฒฐ์ ๋๋ค. ์๋ฐ์คํฌ๋ฆฝํธ์์ ํจ์์ ์ ์ธํ๋๊ฒ์์ ๊ฒฐ์ ๋๋๊ฒ => ํด๋ก์ ํจ์์ ํธ์ถ ํ ๋ ๊ฒฐ์ ๋๋๊ฒ => this์ ํต์ฌ ํจ์ ํธ์ถ ๋ฐฉ์๊ณผ this ๋ฐ์ธ๋ฉ ์๋ฐ์คํฌ๋ฆฝํธ์ ๊ฒฝ์ฐ ํจ์ ํธ์ถ ๋ฐฉ์์ ์ํด this์ ๋ฐ์ธ๋ฉํ ์ด๋ค ๊ฐ์ฒด๊ฐ ๋์ ์ผ๋ก ๊ฒฐ์ ๋๋ค. ๋ค์ ๋งํด, ํจ์๋ฅผ ์ ์ธํ ๋ this์ ๋ฐ์ธ๋ฉํ ๊ฐ์ฒด๊ฐ ์ ์ ์ผ๋ก ๊ฒฐ์ ๋๋ ๊ฒ์ด ์๋๊ณ , ํจ์๋ฅผ ํธ์ถํ ๋ ํจ์๊ฐ ์ด๋ป๊ฒ ํธ์ถ๋์๋์ง์ ๋ฐ๋ผ this์ ๋ฐ์ธ๋ฉํ ๊ฐ์ฒด๊ฐ ๋์ ์ผ๋ก ๊ฒฐ์ ๋๋ค. ๐ ๋ฐ์ธ๋ฉ์ด๋? ์๋ณ์์ ๊ฐ์ ์ฐ๊ฒฐํ๋ ๊ณผ์ ์ ๋งํ๋ค.๋ณ์์ ์ธ์ ๋ณ์ ์ด๋ฆ๊ณผ ํ๋ณด๋ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ์ฃผ์๋ฅผ ๋ฐ์ธ๋ฉํ๋ ๊ฒ์ด๋ค.this ๋ฐ์ธ๋ฉ์ this(ํค์๋๋ก ๋ถ๋ฅ๋์ง๋ง ์๋ณ์์ ์ญํ ์ ํ๋ค.)์ this๊ฐ .. 2022. 10. 27. Closure ํด๋ก์ ๐กํด๋ก์ ๋ ํด๋ก์ ๋ ์ฃผ๋ณ์ ์ํ (lexical environment)์ ์ฐธ์กฐ์ ํจ๊ป ๋ฒ๋ค๋ก ๋ฌถ์ธ ํจ์์ ์กฐํฉ์ ๋๋ค. ์ฆ, ํด๋ก์ ธ๋ ์ฐ๋ฆฌ์๊ฒ innerํจ์์์ outerํจ์์ ์ค์ฝํ์ ์ ๊ทผ์ ๊ฐ๋ฅํ๊ฒ ํด์ค๋๋ค. ์๋ฐ์คํฌ๋ฆฝํธ์์ ํด๋ก์ ๋ ํจ์๊ฐ ์์ฑ๋ ๋๋ง๋ค ์์ฑ๋ฉ๋๋ค. ์๋๋ ํด๋ก์ ๋ฅผ ์ค๋ช ํ๋ ์ฌ๋ฌ ๋ฌธ์์์ ์ฐธ๊ณ ํ ๊ฒ์ด๋ค. ํจ์์ ํจ์๊ฐ ์ ์ธ๋ ์ดํ์ (lexical) ํ๊ฒฝ์ ์กฐํฉ ํด๋ก์ ๋ ํจ์๋ฅผ ์ง์นญํ๊ณ ๋ ๊ทธ ํจ์๊ฐ ์ ์ธ๋ ํ๊ฒฝ๊ณผ์ ๊ด๊ณ๋ผ๋ ๊ฐ๋ ์ด ํฉ์ณ์ง๊ฒ์ด๋ค. ํด๋ก์ ์ ํต์ฌ์ ์ค์ฝํ๋ฅผ ์ด์ฉํด์, ๋ณ์์ ์ ๊ทผ ๋ฒ์๋ฅผ ๋ซ๋(ํ์)๊ฒ์ ์๋ค. ์ธ๋ถํจ์ ์ค์ฝํ์์ ๋ด๋ถํจ์ ์ค์ฝํ๋ก ์ ๊ทผ ๋ถ๊ฐ๋ฅํ๋ค. ๋ด๋ถํจ์์์๋ ์ธ๋ถํจ์ ์ค์ฝํ์์ ์ ์ธ๋ ๋ณ์์ ์ ๊ทผ ๊ธฐ๋ฅํ๋ค. ๋ฐ๋ผ์ ๋ด๋ถ ํจ์๋ ์ธ๋ถํจ์์ ์ ์ธ๋ ๋ณ์์ .. 2022. 10. 23. ํธ์ด์คํ ์ด๋? ํธ์ด์คํ (Hoisting)ํธ์ด์คํ ์ ๋ณ์๋ ํจ์ ์ ์ธ์ ํจ์ ์ ํจ ๋ฒ์(๋๋ ํจ์ ์ธ๋ถ์ ๊ฒฝ์ฐ ์ ์ญ ๋ฒ์)๊ฐ JS ์์ง์์ํด๋งจ ์๋ก ์ด๋ํ๋ ํ์์ ๋งํ๋ค. ( ๐ธ : ์ด๋ ๊ฒ ๋งํ๋ฉด ์ฌ์ด ๋ฌธ์ฅ ๊ฐ์ผ๋ฉด์๋ ์ด๋ ค์ด๊ฑฐ ์์์ ์ ๋ ๊ทธ๋ฌ์ผ๋๊น ์ฒ์ฒํ ์ฝ์ผ๋ฉด์ ๋ด๋ ค๊ฐ๋ณด๋ฉด ์กฐ๊ธ์ฉ ์ดํด๋ ๊ฒ๋๋ค..! ) JavaScript ์์ง์ ์คํํ๊ธฐ ์ ์ ์ฝ๋๋ฅผ ๊ตฌ๋ฌธ ๋ถ์ํ๊ณ ๊ตฌ๋ฌธ ๋ถ์ ๋จ๊ณ ์ค์ ๋ชจ๋ ๋ณ์ ๋ฐ ํจ์ ์ ์ธ ์ ๋ฒ์์ ๋งจ ์๋ก ์ด๋ํฉ๋๋ค. JS ์์ง์ ์ด๋ฌํ ๋์์ ํธ์ด์คํ ( hoisting)์ด๋ผ๊ณ ํฉ๋๋ค.์ด๋ฅผ ์ ๋๋ก ์ดํดํ๊ธฐ ์ํด์๋ TDZ์ ๋ณ์์ ์์ฑ ๋จ๊ณ์ ๋ํ ์ดํด๊ฐ ํ์ํ๋ค.TDZTDZ(Temporal Dead Zone) ์ง์ญ์ ์ผ์์ ์ธ ์ฌ๊ฐ์ง๋๋ ๋ป์ด๋ค.์ด ์ผ์์ ์ธ ์ฌ๊ฐ์ง๋๋ ์ค์ฝํ์ ์์ ์ง์ ๋ถํฐ.. 2022. 10. 22. ์ด์ 1 2 3 4 ๋ค์