Community

๐Ÿค™ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋Š” ์–ด๋–ป๊ฒŒ ์•ฝ์†์„ ์ง€ํ‚ฌ๊นŒ?

- ๋ธŒ๋ผ์šฐ์ €์™€ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๊ฐ€ ๋น„๋™๊ธฐ๋ฅผ ์–ด๋–ป๊ฒŒ ์ฒ˜๋ฆฌํ•˜๋Š”์ง€์— ๋Œ€ํ•ด ์•Œ์•„๋ด…๋‹ˆ๋‹ค. --- ํƒ€์ž„๋ผ์ธ์„ ๋‚ด๋ฆฌ๋‹ค ์ข‹์€ ๊ธ€์„ ๋ฐœ๊ฒฌํ–ˆ์Šต๋‹ˆ๋‹ค. ๋ธŒ๋ผ์šฐ์ €์™€ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๊ฐ€ ๋น„๋™๊ธฐ๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐฉ์‹์— ๋Œ€ํ•ด ์„ค๋ช…ํ•˜๋Š” ๊ธ€์ž…๋‹ˆ๋‹ค. ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์—์„œ ๋น„๋™๊ธฐ ์ž‘์—…์„ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฌธ๋ฒ•์€ ํฌ๊ฒŒ ์ฝœ๋ฐฑ ํ•จ์ˆ˜(callback function), ํ”„๋กœ๋ฏธ์Šค(Promise), ๊ทธ๋ฆฌ๊ณ  ES6๋ถ€ํ„ฐ ๋“ฑ์žฅํ•œ async-await ๋ฌธ๋ฒ•์œผ๋กœ ๊ตฌ๋ณ„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ๊ฐ๊ฐ์˜ ๋™์ž‘ ๋ฐฉ์‹์ด ์กฐ๊ธˆ์”ฉ ๋‹ค๋ฅธ๋ฐ, ์ด๋ฅผ ์ดํ•ดํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ๋น„๋™๊ธฐ ์ž‘์—…์„ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐฉ์‹ ์—ญ์‹œ ์ดํ•ดํ•˜๊ณ  ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋ธŒ๋ผ์šฐ์ € ์—”์ง„์„ ๋‚˜ํƒ€๋‚ด๋Š” ์š”์†Œ๋“ค์ธ ์ฝœ ์Šคํƒ, ์ด๋ฒคํŠธ ๋ฃจํ”„, ํƒœ์Šคํฌ ํ(๋งˆ์ดํฌ๋กœํƒœ์Šคํฌ, ๋งคํฌ๋กœํƒœ์Šคํฌ) ์˜ ์šฉ์–ด๊ฐ€ ๋‚ฏ์„ค๊ฒŒ ๋А๊ปด์งˆ ์ˆ˜ ์žˆ์ง€๋งŒ, ์ด์— ๋Œ€ํ•œ ์ดํ•ด๊ฐ€ ์žˆ์–ด์•ผ ๋ณต์žกํ•œ ๋น„๋™๊ธฐ ์ฒ˜๋ฆฌ์—์„œ์˜ ์ˆœ์„œ๋ฅผ ์‰ฝ๊ฒŒ ํŒŒ์•…ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ ์ ์ ˆํ•œ ์‚ฌ์ง„์ด ์žˆ์–ด ์ดํ•ด์—๋„ ๋„์›€์„ ์ฃผ๋Š” ๊ธ€์ž…๋‹ˆ๋‹ค. ๋ธŒ๋ผ์šฐ์ €์™€ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ ๋น„๋™๊ธฐ ์ฒ˜๋ฆฌ ๋ฐฉ์‹์— ๋Œ€ํ•œ ์ดํ•ด๊ฐ€ ๋ณต์žกํ•˜๊ฒŒ ๋А๊ปด์ง€์‹œ๋Š” ๋ถ„๋“ค์ด๋ผ๋ฉด ํ•œ ๋ฒˆ์ฏค ์ฝ์–ด๋ณผ๋งŒํ•œ ์ž๋ฃŒ์ž…๋‹ˆ๋‹ค. - ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์—์„œ์˜ ๋น„๋™๊ธฐ ์ฒ˜๋ฆฌ - ์ฝœ๋ฐฑ ํ•จ์ˆ˜์™€ ์ฝœ๋ฐฑ ์ง€์˜ฅ - Promise์™€ async-await์˜ ๋“ฑ์žฅ - setTimeout ์ด ์˜๋„๋Œ€๋กœ ๋™์ž‘ํ•˜์ง€ ์•Š๋Š” ์ด์œ  - ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ๋น„๋™๊ธฐ ์ž‘์—…์„ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐฉ๋ฒ•

์•Œ๋ฆผ

์•Œ๋ฆผ์ด ์—†์Šต๋‹ˆ๋‹ค