TIL 28: [JS/Node] ๋น„๋™๊ธฐ - Underbar

์˜ค๋Š˜์€ ๊ณ ์ฐจํ•จ์ˆ˜ ๊ธฐ๋Šฅ์„ ์ง์ ‘ ๊ตฌํ˜„ํ•ด๋ณด๋Š” ์Šคํ”„๋ฆฐํŠธ๋ฅผ ์ง„ํ–‰ํ–ˆ์Šต๋‹ˆ๋‹ค. Nightmare ๋ฌธ์ œ๋ฅผ ์•„์ง ๋ชปํ’€์–ด์„œ ๋ธ”๋กœ๊น… ์ดํ›„์— ๋งˆ์ € ๋” ํ’€์–ด๋ณด๋ ค๊ตฌ์š”! ๋ณธ๊ฒฉ์ ์ธ ๋น„๋™๊ธฐ์™€ ๊ด€๋ จํ•œ ๋‚ด์šฉ์€ ๋‚ด์ผ ๋‚˜์™€์„œ ๋‚ด์ผ ๋งˆ์ € ์ •๋ฆฌํ•ด๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค!

 

๊ฐ„๋‹จํ•˜๊ฒŒ ๊ณ ์ฐจํ•จ์ˆ˜๋ฅผ ๋ฆฌ๋ทฐํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

 

1. ๊ณ ์ฐจํ•จ์ˆ˜๋Š” ์ฝœ๋ฐฑํ•จ์ˆ˜(Callback Function)๋ฅผ ์ „๋‹ฌ๋ฐ›์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
์ฝœ๋ฐฑํ•จ์ˆ˜๋ž€ ๊ณ ์ฐจํ•จ์ˆ˜์˜ ์ธ์ž๋กœ ์ „๋‹ฌ๋˜๋Š” ํ•จ์ˆ˜๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค. 

 

2. ๊ณ ์ฐจํ•จ์ˆ˜๋Š” ๋‹ค๋ฅธ ํ•จ์ˆ˜๋ฅผ ๋ฆฌํ„ดํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

์ฝœ๋ฐฑ ํ•จ์ˆ˜๋ฅผ ์ „๋‹ฌ๋ฐ›์€ callerํ•จ์ˆ˜๋Š”, ํ•จ์ˆ˜ ๋‚ด๋ถ€์—์„œ ์ด ์ฝœ๋ฐฑ ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœ(invoke) ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. caller๋Š” ์กฐ๊ฑด์— ๋”ฐ๋ผ ์ฝœ๋ฐฑ ํ•จ์ˆ˜์˜ ์‹คํ–‰ ์—ฌ๋ถ€๋ฅผ ๊ฒฐ์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์•„์˜ˆ ํ˜ธ์ถœํ•˜์ง€ ์•Š์„ ์ˆ˜๋„ ์žˆ๊ณ , ์—ฌ๋Ÿฌ ๋ฒˆ ์‹คํ–‰ํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ์•ž์œผ๋กœ๋Š” ํŠน์ • ์ž‘์—…์˜ ์™„๋ฃŒ ํ›„์— ํ˜ธ์ถœํ•˜๋Š” ๊ฒฝ์šฐ๋ฅผ ์ž์ฃผ ์ ‘ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.