javascropt 1

[JS] ํด๋กœ์ €(Closures)์™€ ๋ฆฌ์•กํŠธ์˜ ํ›…(useState)์˜ ๊ด€๊ณ„

ํด๋กœ์ €๋Š” ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์—์„œ ์ค‘์š”ํ•œ ๊ฐœ๋…์œผ๋กœ ์™ธ๋ถ€์—์„œ ์ ‘๊ทผํ•  ์ˆ˜ ์—†๋Š” ๋น„๊ณต๊ฐœ ๋ณ€์ˆ˜๋ฅผ ์ƒ์„ฑํ•ด ๋ฐ์ดํ„ฐ ์€๋‹‰์„ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ, ๋น„๋™๊ธฐ ์ž‘์—…์ด๋‚˜ ์ด๋ฒคํŠธ ํ•ธ๋“ค๋Ÿฌ์—์„œ ์ƒํƒœ๋ฅผ ํšจ๊ณผ์ ์œผ๋กœ ์œ ์ง€ํ•˜๋ฉฐ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ์–ด ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ด ๊ธ€์—์„œ๋Š” ํด๋กœ์ €์˜ ์žฅ์  ๊ทธ๋ฆฌ๊ณ  ์ด๋ฅผ ํ™œ์šฉํ•ด ์ฝ”๋“œ์˜ ์žฌ์‚ฌ์šฉ์„ฑ์„ ๋†’์ด๋Š” ๋ฐฉ๋ฒ•๊ณผ ์ถ”๊ฐ€๋กœ, React์˜ ์ƒํƒœ๊ด€๋ฆฌ useState์™€ ํด๋กœ์ €์˜ ๊ด€๊ณ„์— ๋Œ€ํ•ด์„œ๋„ ์ •๋ฆฌํ•˜์˜€์Šต๋‹ˆ๋‹ค. ๐Ÿ“‚ ๋ชฉ์ฐจ 1. ํด๋กœ์ €๋ž€ ๋ฌด์—‡์ผ๊นŒโ“ํด๋กœ์ €๋Š” ๋‚ด๋ถ€ ํ•จ์ˆ˜๊ฐ€ ์™ธ๋ถ€ ํ•จ์ˆ˜์˜ ๋ณ€์ˆ˜(๋ ‰์‹œ์ปฌ ํ™˜๊ฒฝ)์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์ด๋กœ ์ธํ•ด ํ•จ์ˆ˜๊ฐ€ ํ˜ธ์ถœ๋œ ์ดํ›„์—๋„ ์™ธ๋ถ€ ํ•จ์ˆ˜์˜ ์ƒํƒœ(๋ณ€์ˆ˜)๋ฅผ ์œ ์ง€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.ํด๋กœ์ €๋Š” ์™ธ๋ถ€ ๋ณ€์ˆ˜ ๊ฐ’ ์ƒํƒœ๋ฅผ ํ•จ์ˆ˜ ํ˜ธ์ถœ ์ดํ›„์—๋„ ์œ ์ง€ํ•ฉ๋‹ˆ๋‹ค.์ด ์ƒํƒœ๋Š” ์™ธ๋ถ€์—์„œ ์ง์ ‘ ์ ‘๊ทผํ•  ์ˆ˜ ์—†๊ณ , ๋‚ด๋ถ€ ํ•จ์ˆ˜๋กœ๋งŒ ์ ‘๊ทผ..

JS 2025.01.19