๐Ÿš€์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ํ์‡„๐Ÿ‘จโ€๐Ÿ’ป

2187 ๋‹จ์–ด javascriptbeginners
์•ˆ๋…•ํ•˜์„ธ์š” ์›”๋“œ์ž…๋‹ˆ๋‹ค!

ํ์‡„ ๋ž€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?



ํด๋กœ์ €๋Š” ํ•จ์ˆ˜์™€ ๊ทธ ํ•จ์ˆ˜๊ฐ€ ์„ ์–ธ๋œ ์–ดํœ˜ ํ™˜๊ฒฝ์˜ ์กฐํ•ฉ์ž…๋‹ˆ๋‹ค.

Closure๋Š” ์™ธ๋ถ€(๋‹ซ๋Š”) ํ•จ์ˆ˜ ๋ณ€์ˆ˜์— ์•ก์„ธ์Šคํ•  ์ˆ˜ ์žˆ๋Š” ๋‚ด๋ถ€ ํ•จ์ˆ˜์ž…๋‹ˆ๋‹ค.

ํด๋กœ์ €์—๋Š” 3๊ฐ€์ง€ ๋ฒ”์œ„ ์ฒด์ธ์ด ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์€ ์ž์‹ ์˜ ๋ฒ”์œ„
  • ์— ์•ก์„ธ์Šคํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์™ธ๋ถ€ ํ•จ์ˆ˜ ๋ณ€์ˆ˜์— ์•ก์„ธ์Šคํ•  ์ˆ˜ ์žˆ์Œ
  • ์ „์—ญ ๋ณ€์ˆ˜์— ์•ก์„ธ์Šคํ•  ์ˆ˜ ์žˆ์Œ

  • ํ•จ์ˆ˜ ์™ธ๋ถ€์— ์žˆ๋Š” ๋ณ€์ˆ˜์— ์•ก์„ธ์Šคํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

    ํด๋กœ์ € ์‚ฌ์šฉ



    ํ์‡„๋Š” ๋ฐ์ดํ„ฐ ๊ฐœ์ธ ์ •๋ณด ๋ณดํ˜ธ๋ฅผ ์œ„ํ•ด ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ ๊ฐœ์ธ ์ •๋ณด ๋ณดํ˜ธ๋ฅผ ์œ„ํ•ด ํด๋กœ์ €๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ ํฌํ•จ๋œ ๋ณ€์ˆ˜๋Š” ํฌํ•จ(์™ธ๋ถ€) ํ•จ์ˆ˜ ๋‚ด์—์„œ๋งŒ ๋ฒ”์œ„ ๋‚ด์— ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐœ์ฒด์˜ ๊ถŒํ•œ ์žˆ๋Š” ๋ฉ”์„œ๋“œ๋ฅผ ํ†ตํ•˜์ง€ ์•Š๊ณ ๋Š” ์™ธ๋ถ€ ๋ฒ”์œ„์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

    ํ์‡„์˜ ์˜ˆ๋ฅผ ๋ณด์ž :

      function User(name){ 
         let displayAge = function(age){
            console.log(name + " is "+age+" year old.");
            }
          return  displayAge;
         }
    
      let user1 = User("John");
      user1("22") // Output : John is 22 year old.
    

    `

    ์œ„์˜ ์˜ˆ์—์„œ User() ๋Š” ๋‚ด๋ถ€ ํ•จ์ˆ˜ displayAge() ๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋Š” ์™ธ๋ถ€ ํ•จ์ˆ˜์ž…๋‹ˆ๋‹ค. ๋‚ด๋ถ€ ํ•จ์ˆ˜๋Š” ์™ธ๋ถ€ ํ•จ์ˆ˜๊ฐ€ ๋ฐ˜ํ™˜๋˜๋”๋ผ๋„ ์™ธ๋ถ€ ๋ฒ”์œ„ ๋ณ€์ˆ˜์— ์•ก์„ธ์Šคํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

    ๊ฒฐ๋ก 



    ํด๋กœ์ €๋Š” ์™ธ๋ถ€ ๋ฒ”์œ„์— ์žˆ๋Š” ๋ณ€์ˆ˜์— ์•ก์„ธ์Šคํ•  ์ˆ˜ ์žˆ๋Š” ๋‚ด๋ถ€ ๋˜๋Š” ์ค‘์ฒฉ ํ•จ์ˆ˜์ผ ๋ฟ์ž…๋‹ˆ๋‹ค.

    ์ข‹์€ ์›นํŽ˜์ด์ง€ ์ฆ๊ฒจ์ฐพ๊ธฐ