JS

[JavaScript] ์ฆ‰์‹œ ์‹คํ–‰ ํ•จ์ˆ˜ ํ‘œํ˜„์‹(IIFE) ์ด๋ž€?

hyonie 2025. 4. 2. 16:21

JavaScript๋ฅผ ๊ณต๋ถ€ํ•˜๋‹ค ๋ณด๋ฉด ๊ฐ€๋” ์ด๋Ÿฐ ์ƒ์†Œํ•œ ๋ฌธ๋ฒ•์„ ๋ณด๊ฒŒ ๋ฉ๋‹ˆ๋‹ค:

(() => {
  // ๋ญ”๊ฐ€ ์‹คํ–‰๋˜๋Š” ์ฝ”๋“œ
})();

 

์ฒ˜์Œ ๋ณด๋ฉด ์ด๊ฒŒ ๋„๋Œ€์ฒด ๋ญ์ง€.....? ์‹ถ์€๋ฐ์š”, ์ฆ‰์‹œ ์‹คํ–‰ ํ•จ์ˆ˜ ํ‘œํ˜„์‹ ์ด๋ผ๊ณ  ๋ถˆ๋ฆฌ๋Š” ๋ฌธ๋ฒ•์ž…๋‹ˆ๋‹ค.

์ด๋ฒˆ๊ธ€์—์„œ๋Š” IIFE๊ฐ€ ๋ฌด์—‡์ธ์ง€, ์™œ ์“ฐ๋Š”์ง€, ์–ธ์ œ ์œ ์šฉํ•œ์ง€ ์ •๋ฆฌํ•ด๋ณด๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

๐Ÿ“‚ ๋ชฉ์ฐจ

     


    ์ฆ‰์‹œ ์‹คํ–‰ ํ•จ์ˆ˜ ํ‘œํ˜„์‹์ด๋ž€?

    ์ฆ‰์‹œ ์‹คํ–‰ ํ•จ์ˆ˜ ํ‘œํ˜„์‹(IIFE)์€ ์ •์˜ํ•˜์ž๋งˆ์ž ๋ฐ”๋กœ ์‹คํ–‰๋˜๋Š” ํ•จ์ˆ˜๋ฅผ ๋งํ•ฉ๋‹ˆ๋‹ค.

     

    โœ… ๋ฌธ๋ฒ• ํ˜•ํƒœ

    (fucntion() {
      console.log("์ฆ‰์‹œ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค!");
    })();

     

    ๋˜๋Š” ํ™”์‚ดํ‘œํ•จ์ˆ˜ ๋ฒ„์ „์œผ๋กœ๋„ ์“ธ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค:

    (() => {
      console.log("์ด๊ฒƒ๋„ ์ฆ‰์‹œ ์‹คํ–‰!");
    })();

     

     

    ๐Ÿ” ์™œ ์‚ฌ์šฉํ•˜๋Š” ๊ฑธ๊นŒ?

    1. ํ•œ๋ฒˆ ๋งŒ ์‹คํ–‰๋˜๋Š” ์ดˆ๊ธฐํ™” ์ฝ”๋“œ๋ฅผ ๋งŒ๋“ค๊ณ  ์‹ถ์„ ๋–„
    2. ์ „์—ญ ๋ณ€์ˆ˜ ์˜ค์—ผ์„ ๋ฐฉ์ง€ํ•˜๊ณ , ์Šค์ฝ”ํ”„๋ฅผ ์ œํ•œํ•˜๊ณ  ์‹ถ์„ ๋•Œ
    3. ์ผํšŒ์„ฑ ํ•จ์ˆ˜์ธ๋ฐ ๊ตณ์ด ๋ฐ–์— ๊บผ๋‚ด์„œ ๋ณ€์ˆ˜๋กœ ๋งŒ๋“ค๊ธฐ ๊ท€์ฐฎ์„ ๋•Œ

     

     

     

     

    โœ” ์˜ˆ์ œ ์ฝ”๋“œ

     

    const result = ( (usimNum) => {
      if (usimNum == null) return false;
      
      const parsedUsim = Number(usimNum);
      if (isNaN(parsedUsim)) return false;
      
      const usimString = String(parsedUsim);
      return usimString.length === 6 && /^\d{6}/.test(usimString);
    
    })(searchParms.usimNum);

     

    ๐Ÿ’ก ์ด๊ฒŒ ํ•˜๋Š” ์ผ?

    searchParams?.usimNum ๊ฐ’์„ ๋ฐ›์•„์„œ

    • null ๋˜๋Š” undefined์ธ์ง€ ํ™•์ธํ•˜๊ณ 
    • ์ˆซ์ž๋กœ ๋ณ€ํ™˜ ๊ฐ€๋Šฅํ•œ์ง€ ์ฒดํฌํ•˜๊ณ 
    • 6์ž๋ฆฌ ์ˆซ์ž์ธ์ง€ ์ •๊ทœํ‘œํ˜„์‹์œผ๋กœ ๊ฒ€์‚ฌํ•œ ๋’ค
    • ๊ทธ  ๊ฒฐ๊ณผ๋ฅผ result์— ์ €์žฅํ•ฉ๋‹ˆ๋‹ค.

    ์ฆ‰, result ํ•จ์ˆ˜๋ฅผ ์ •์˜ํ•˜์ž๋งˆ์ž ๋ฐ”๋กœ ์‹คํ–‰ํ•˜๊ณ , ๊ฒฐ๊ณผ๋งŒ ๋ณ€์ˆ˜์— ๋‹ด์Šต๋‹ˆ๋‹ค.

     

    ๐Ÿ“Œ์š”์•ฝ

    • IIFE๋Š” ์ •์˜ํ•˜์ž๋งˆ์ž ์ฆ‰์‹œ ์‹คํ–‰๋˜๋Š” ํ•จ์ˆ˜์ด๋‹ค.
    • ๋ณดํ†ต ์ผํšŒ์„ฑ ์ดˆ๊ธฐํ™”๋‚˜ ์Šค์ฝ”ํ”„ ๊ฒฉ๋ฆฌ๊ฐ€ ํ•„์š”ํ•  ๋•Œ ์œ ์šฉํ•˜๋‹ค
    • ๊ด„ํ˜ธ๋กœ ํ•จ์ˆ˜ ์ „์ฒด๋ฅผ ๊ฐ์‹ธ๊ณ , ๋์— ()๋ฅผ ๋ถ™์ด๋ฉด ๋œ๋‹ค.