2025/04/02 2

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

JavaScript๋ฅผ ๊ณต๋ถ€ํ•˜๋‹ค ๋ณด๋ฉด ๊ฐ€๋” ์ด๋Ÿฐ ์ƒ์†Œํ•œ ๋ฌธ๋ฒ•์„ ๋ณด๊ฒŒ ๋ฉ๋‹ˆ๋‹ค:(() => { // ๋ญ”๊ฐ€ ์‹คํ–‰๋˜๋Š” ์ฝ”๋“œ})(); ์ฒ˜์Œ ๋ณด๋ฉด ์ด๊ฒŒ ๋„๋Œ€์ฒด ๋ญ์ง€.....? ์‹ถ์€๋ฐ์š”, ์ฆ‰์‹œ ์‹คํ–‰ ํ•จ์ˆ˜ ํ‘œํ˜„์‹ ์ด๋ผ๊ณ  ๋ถˆ๋ฆฌ๋Š” ๋ฌธ๋ฒ•์ž…๋‹ˆ๋‹ค.์ด๋ฒˆ๊ธ€์—์„œ๋Š” IIFE๊ฐ€ ๋ฌด์—‡์ธ์ง€, ์™œ ์“ฐ๋Š”์ง€, ์–ธ์ œ ์œ ์šฉํ•œ์ง€ ์ •๋ฆฌํ•ด๋ณด๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.๐Ÿ“‚ ๋ชฉ์ฐจ ์ฆ‰์‹œ ์‹คํ–‰ ํ•จ์ˆ˜ ํ‘œํ˜„์‹์ด๋ž€?์ฆ‰์‹œ ์‹คํ–‰ ํ•จ์ˆ˜ ํ‘œํ˜„์‹(IIFE)์€ ์ •์˜ํ•˜์ž๋งˆ์ž ๋ฐ”๋กœ ์‹คํ–‰๋˜๋Š” ํ•จ์ˆ˜๋ฅผ ๋งํ•ฉ๋‹ˆ๋‹ค. โœ… ๋ฌธ๋ฒ• ํ˜•ํƒœ(fucntion() { console.log("์ฆ‰์‹œ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค!");})(); ๋˜๋Š” ํ™”์‚ดํ‘œํ•จ์ˆ˜ ๋ฒ„์ „์œผ๋กœ๋„ ์“ธ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค:(() => { console.log("์ด๊ฒƒ๋„ ์ฆ‰์‹œ ์‹คํ–‰!");})();  ๐Ÿ” ์™œ ์‚ฌ์šฉํ•˜๋Š” ๊ฑธ๊นŒ?ํ•œ๋ฒˆ ๋งŒ ์‹คํ–‰๋˜๋Š” ์ดˆ๊ธฐํ™” ์ฝ”๋“œ๋ฅผ ๋งŒ๋“ค๊ณ  ์‹ถ์„ ๋–„์ „์—ญ..

JS 2025.04.02

[JavaScript] new Set()๊ณผ has() ์ค‘๋ณต์—†๋Š” ๋ฐ์ดํ„ฐ ๊ด€๋ฆฌ

์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์—์„œ ์ค‘๋ณต๋˜์ง€ ์•Š๋Š” ๊ฐ’์„ ์ €์žฅํ•˜๊ณ  ์‹ถ์„ ๋•Œ, ๋ฐฐ์—ด๋งŒ ์‚ฌ์šฉํ•˜๋ฉด ๋ถˆํŽธํ•  ๋•Œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.์ด๋Ÿด๋•Œ Set ๊ฐ์ฒด๋ฅผ ํ™œ์šฉํ•˜๋ฉด ๊ฐ„๋‹จํ•˜๊ณ  ํšจ์œจ์ ์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฒˆ ๊ธ€์—์„œ๋Š” Set์˜ ๊ธฐ๋ณธ ์‚ฌ์šฉ๋ฒ•๊ณผ has()๋ฉ”์„œ๋“œ์— ๋Œ€ํ•ด ์‰ฝ๊ฒŒ ์ •๋ฆฌํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.๐Ÿ“‚ ๋ชฉ์ฐจ ๐Ÿงฉ new Set() ์ด๋ž€?Set์€ ์ค‘๋ณต์„ ํ—ˆ์šฉํ•˜์ง€ ์•Š๋Š” ๊ฐ’๋“ค์˜ ์ง‘ํ•ฉ์„ ๋งŒ๋“ค์–ด์ฃผ๋Š” ๊ฐ์ฒด์ž…๋‹ˆ๋‹ค.const mySet = new Set([1,2,3,3,4]);console.log(mySet); //Set(4) {1,2,3,4}์œ„ ์˜ˆ์‹œ์ฒ˜๋Ÿผ, ์ค‘๋ณต๋œ ๊ฐ’ 3์€ ํ•˜๋‚˜๋งŒ ์ €์žฅ๋ฉ๋‹ˆ๋‹ค. ๐Ÿ“Œ ๊ธฐ๋ณธ ๋ฌธ๋ฒ•const setName = new Set(iterable); // ๋ฐ˜๋ณตํ• ์ˆ˜ ์žˆ๋Š” ๊ฐ’(string, Array, Set, Map) ์˜ˆ์‹œ:const usi..

JS 2025.04.02