[FE - ConnecTo] DAY33 TIL๐Ÿ‘ฉ๐Ÿปโ€๐Ÿ’ป

JUNYยท2022๋…„ 8์›” 25์ผ
0

๐Ÿ“šZeroBase ConnecTo Front-End

๋ชฉ๋ก ๋ณด๊ธฐ
22/53
post-thumbnail

22.08.25 ์ˆ˜์—…์„ ๋“ค์œผ๋ฉฐ ๊ณต๋ถ€ํ•œ ๋‚ด์šฉ๋“ค์„ ์ •๋ฆฌํ•˜์˜€์Šต๋‹ˆ๋‹ค ๐Ÿ˜Š
ํ”ผ๋“œ๋ฐฑ์€ ์–ธ์ œ๋‚˜ ํ™˜์˜์ž…๋‹ˆ๋‹ค! ๐ŸŠ

ํ•จ์ˆ˜์˜ ๊ตฌ๋ถ„

  • ES5 ์ด์ „ : ํ•จ์ˆ˜๋Š” ์‚ฌ์šฉ ๋ชฉ์ ์˜ ๊ตฌ๋ถ„ ์—†์ด ์ผ๋ฐ˜ ํ•จ์ˆ˜, ์ƒ์„ฑ์ž ํ•จ์ˆ˜, ๋ฉ”์„œ๋“œ๋กœ ์‚ฌ์šฉ๋จ.
  • ES6 ์ดํ›„ : ๋ฉ”์„œ๋“œ ์ถ•์•ฝ ํ‘œํ˜„, ํ™”์‚ดํ‘œ ํ•จ์ˆ˜ ๋“ฑ ๋‚ด๋ถ€ ๋™์ž‘์„ ๊ฐ„์†Œํ™”ํ•œ ์ƒˆ๋กœ์šด ํ•จ์ˆ˜ ์œ ํ˜•์ด ๋“ฑ์žฅํ•จ.
  • ํ•จ์ˆ˜๋ฅผ ๊ตฌ๋ถ„ํ•ด๋†“์€ ๋ชฉ์  ํŠน์ •ํ•œ ์ƒํ™ฉ๊ณผ ๋ชฉ์ ์— ๋งž๋Š” ํ•จ์ˆ˜๋ฅผ ์ƒ์„ฑํ•˜๊ธฐ ์œ„ํ•œ ๊ฒƒ โ†’ ๊ธฐ์กด์—๋Š” ๋ฉ”์„œ๋“œ๊ฐ€ ์ƒ์„ฑ์ž ํ•จ์ˆ˜๋กœ์„œ ์‚ฌ์šฉ๋  ์ˆ˜ ์žˆ์—ˆ๊ณ , ์ด๋Š” ์˜ค๋ฅ˜๋ฅผ ๋ฐœ์ƒ์‹œํ‚ฌ ์šฐ๋ ค๊ฐ€ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๋ฉ”์„œ๋“œ ์ถ•์•ฝ ํ‘œํ˜„์˜ ๋“ฑ์žฅ์œผ๋กœ ์ด๋ฅผ ์ตœ์†Œํ™”ํ•  ์ˆ˜ ์žˆ์Œ โ‡’ ์ƒ์„ฑ์ž ํ•จ์ˆ˜๋กœ์„œ ์‚ฌ์šฉ๋˜๋ฉด ๋ฉ”์„œ๋“œ๊ฐ€ ํ”„๋กœํ† ํƒ€์ž…์„ ๊ฐ€์ง€๊ฒŒ ๋˜๋ฏ€๋กœ ๋ฉ”๋ชจ๋ฆฌ๋„ ๋‚ญ๋น„๋จ

๊ทธ๋ž˜์„œ ํ•จ์ˆ˜๋ฅผ ๊ตฌ๋ถ„ํ•˜์ง€ ์•Š๊ณ  ์‚ฌ์šฉํ•˜๋ฉด, ์‚ฌ์šฉ๋„ ์–ด๋ ค์›Œ์ง€๊ณ  ์„ฑ๋Šฅ๋„ ์ข‹์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์—,
ES6๋ถ€ํ„ฐ๋Š” ํŠน์ •ํ•œ ์ƒํ™ฉ๊ณผ ๋ชฉ์ ์— ๋งž๊ฒŒ ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜๊ธฐ ์œ„ํ•ด ๊ตฌ๋ถ„ํ•˜๊ฒŒ ๋จ!


ํ™”์‚ดํ‘œ ํ•จ์ˆ˜

  • ์ƒ์„ฑ์ž ํ•จ์ˆ˜๊ฐ€ ์•„๋‹Œ ํ•จ์ˆ˜์—๋Š” ๋‹ค ์œ ์šฉํ•˜๋‹ค.
    ์™œ๋ƒํ•˜๋ฉด, ์ผ๋ฐ˜ ํ•จ์ˆ˜๋Š” ์• ์ดˆ์— ํ˜ธ์ถœ ๋ชฉ์  ์ž์ฒด๊ฐ€ ์ƒ์„ฑ์ž ํ•จ์ˆ˜๊ฐ€ ์•„๋‹ˆ๊ธฐ ๋•Œ๋ฌธ์— [[construct]]๋ฅผ ๊ฐ€์งˆ ํ•„์š”๊ฐ€ ์—†๊ณ , ๊ทธ๋ž˜์„œ ํ™”์‚ดํ‘œ ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ๋ฐ”๋žŒ์งํ•˜๊ธฐ ๋•Œ๋ฌธ์ž„. ๊ทธ๋ž˜์„œ ์ผ๋ฐ˜ ํ•จ์ˆ˜๋Š” ํ”„๋กœํ† ํƒ€์ž…์„ ๊ฐ€์งˆ ์ด์œ ๊ฐ€ ์—†์œผ๋‹ˆ this๊ฐ€ ์—†๋Š” ํ™”์‚ดํ‘œ ํ•จ์ˆ˜ ์‚ฌ์šฉํ•ด์•ผ ํ•จ.

  • super ํ‚ค์›Œ๋“œ๋ฅผ ๊ฐ€์ง€์ง€ ์•Š๋Š” ์ด์œ 
    super ํ‚ค์›Œ๋“œ๋Š” ๋ฉ”์„œ๋“œ ๋‚ด์—์„œ๋งŒ ์˜๋ฏธ๊ฐ€ ์žˆ๊ธฐ ๋•Œ๋ฌธ์ž„.

  • ์ผ๋ฐ˜ ํ•จ์ˆ˜๋ฅผ ์„ ์–ธํ–ˆ์„ ๋•Œ๋Š” ์›ฌ๋งŒํ•˜๋ฉด ํ™”์‚ดํ‘œ ํ•จ์ˆ˜ ์‚ฌ์šฉ
    ๋‚ด๋ถ€ ๋™์ž‘์ด ๊ฐ„ํŽธํ•  ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ์„ฑ๋Šฅ๊ณผ ๊ฐ€๋…์„ฑ ๋ฉด์—์„œ๋„ ๋” ์œ ๋ฆฌํ•จ
    ๋งŒ์•ฝ, ํ•จ์ˆ˜๊ฐ€ ๋„ˆ๋ฌด ๋‘๊บผ์›Œ์ง€๋ฉด ๋‚ด๋ถ€ ๋กœ์ง์— ๋Œ€ํ•œ ์ƒ๊ฐ์„ ๋‹ค์‹œ ํ•ด๋ณผ ํ•„์š”๊ฐ€ ์žˆ์Œ

  • arguments ๊ฐ์ฒด
    ํ™”์‚ดํ‘œ ํ•จ์ˆ˜ ์ƒ์œ„ ํ•จ์ˆ˜์˜ arguments๋ฅผ ์ฐธ์กฐํ•จ
    โ†’ ํ™”์‚ดํ‘œ ํ•จ์ˆ˜ ์ž์ฒด์˜ arguments๊ฐ€ ์•„๋‹ˆ๋ผ ์ƒ์œ„ ํ•จ์ˆ˜์˜ arguments๋ฅผ ์ฐธ์กฐํ•˜๋Š” ๊ฒƒ์€ ์˜๋ฏธ๊ฐ€ ์—†์Œ
    ๊ทธ๋ž˜์„œ arguments์˜ ์‚ฌ์šฉ์€ ํ•จ์ˆ˜ ํ‘œํ˜„์‹์—์„œ ํ•ด์•ผ ํ•จ โ†’ ํ™”์‚ดํ‘œ ํ•จ์ˆ˜์—์„œ๋Š” Rest ํŒŒ๋ผ๋ฏธํ„ฐ(โ€ฆ) ์‚ฌ์šฉํ•˜์—ฌ ๊ฐ€๋ณ€ ์ธ์ž ํ•จ์ˆ˜ ๊ตฌํ˜„

this์˜ ์‚ฌ์šฉ ๋ชฉ์ 

  • ์ƒ์„ฑ์ž ํ•จ์ˆ˜์™€ ํด๋ž˜์Šค ๋‚ด๋ถ€
    ๊ทธ ๋‚ด๋ถ€์—์„œ ์ƒ์„ฑํ•  ์ธ์Šคํ„ด์Šค๋ฅผ ๊ฐ€๋ฆฌํ‚ฌ ์ˆ˜ ์žˆ๋Š” ์‹๋ณ„์ž๊ฐ€ ํ•„์š”ํ•œ๋ฐ, ํ•จ์ˆ˜ ๋‚ด๋ถ€์—์„œ ๊ทธ ์ธ์Šคํ„ด์Šค๋ฅผ ๊ฐ€๋ฆฌํ‚ค๋Š” ์‹๋ณ„์ž๋Š” ์ฐธ์กฐํ•  ์ˆ˜ ์—†์Œ
    โ†’ ๊ทธ๋ž˜์„œ this๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ž„์‹œ๋กœ ๊ทธ ์ธ์Šคํ„ด์Šค์™€ ๋ฐ”์ธ๋”ฉ์„ ์‹œ์ผœ์คŒ

  • this๋Š” ๋ฉ”์„œ๋“œ ๋‚ด๋ถ€์—์„œ๋งŒ ์˜๋ฏธ๊ฐ€ ์žˆ์Œ
    ํ”„๋กœํผํ‹ฐ๋ฅผ ์ฐธ์กฐํ•  ์ผ์ด ์žˆ์–ด์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์—, ์ผ๋ฐ˜ ํ•จ์ˆ˜ ๋‚ด๋ถ€์—์„œ๋Š” ๋ฌด์˜๋ฏธํ•จ.
    ๊ทธ๋Ÿฌ๋‚˜ ES5์˜ ํ•จ์ˆ˜ ๋‚ด๋ถ€์—์„œ๋Š” ์ผ๋ฐ˜ ํ•จ์ˆ˜์ฒ˜๋Ÿผ ์ƒ๊ฒผ์ง€๋งŒ ๋ฉ”์„œ๋“œ๊ฐ€ ๋  ๊ฐ€๋Šฅ์„ฑ์ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์œ ํšจํ•จ.
    Soโ€ฆ ์ผ๋ฐ˜ ํ•จ์ˆ˜๊ฐ€ ์–ด๋–ป๊ฒŒ ํ˜ธ์ถœ๋ ์ง€ ์•Œ ์ˆ˜ ์—†๊ธฐ ๋•Œ๋ฌธ์— this๋Š” ๋ฌด์˜๋ฏธํ•จ!
  • ํ™”์‚ดํ‘œ ํ•จ์ˆ˜ ์ž์ฒด๋ฅผ this๋กœ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ข‹์ง€ ์•Š์€ ๊ฒƒ์ด์ง€, ๋ฉ”์„œ๋“œ ๋‚ด๋ถ€์—์„œ this๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์€ ์ƒ๊ด€์—†์Œ

ํด๋ž˜์Šค ํ•„๋“œ ๋‚ด๋ถ€์˜ this

  • ํด๋ž˜์Šค ํ•„๋“œ์— ๋ฉ”์„œ๋“œ๋กœ ํ™”์‚ดํ‘œ ํ•จ์ˆ˜๋ฅผ ํ• ๋‹นํ•˜๊ณ  ๊ทธ ๋‚ด๋ถ€์— this๋ฅผ ์‚ฌ์šฉํ•œ ๊ฒฝ์šฐ
    ์ „์—ญ์— ํด๋ž˜์Šค๋ฅผ ์„ ์–ธํ•œ ๊ฒฝ์šฐ ์›๋ž˜๋Š” ์ƒ์œ„ ์Šค์ฝ”ํ”„๊ฐ€ ์ „์—ญ ์Šค์ฝ”ํ”„์ด๋ฏ€๋กœ window๋ฅผ ๊ฐ€๋ฆฌํ‚ค๋Š” ๊ฒƒ์ด ์ •ํ™•ํ•จ.
    ๊ทธ๋Ÿฌ๋‚˜ ํด๋ž˜์Šค ํ•„๋“œ์— ํ• ๋‹นํ•œ ํ™”์‚ดํ‘œ ํ•จ์ˆ˜์˜ this๋Š” constructor์˜ this๋ฅผ ๊ฐ€๋ฆฌํ‚ค๋„๋ก ์„ค๊ณ„ํ•จ
    โ†’ ๊ทธ๋ž˜์„œ ํŠน์ˆ˜ํ•œ ๊ฒฝ์šฐ๋กœ ์„ค๊ณ„๋˜์—ˆ๋Š”๋ฐ,
    ๊ทธ๋ ‡๊ธฐ ๋•Œ๋ฌธ์— ํด๋ž˜์Šค ํ•„๋“œ์— ๋ฉ”์„œ๋“œ๋ฅผ ํ• ๋‹นํ•˜๋Š” ๊ฒฝ์šฐ ํ™”์‚ดํ‘œ ํ•จ์ˆ˜๋Š” ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ๊ฒƒ์ด ๋ฐ”๋žŒ์งํ•จ.

Rest ํŒŒ๋ผ๋ฏธํ„ฐ

  • Rest ํŒŒ๋ผ๋ฏธํ„ฐ์—๋Š” ๋ฐฐ์—ด์ด ๋“ค์–ด์˜ด
  • ES6 ์ดํ›„์—๋Š” ์œ ์‚ฌ ๋ฐฐ์—ด ๊ฐ์ฒด ์•ˆ ์“ฐ๊ณ  ๋ฐฐ์—ด ์‚ฌ์šฉํ•˜๋Š” ์ถ”์„ธ์ž„.
    ์™œ๋ƒํ•˜๋ฉด, ๋ฐฐ์—ด ๋นŒํŠธ์ธ ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๋ ค๋ฉด call์„ ํ†ตํ•ด ๋ณต์žกํ•˜๊ฒŒ ์‚ฌ์šฉํ•ด์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์ž„.
    โ†’ ์ˆœํšŒ(๋ฐ˜๋ณต๋ฌธ)๋ฅผ ํ•˜๋Š” ๊ฒฝ์šฐ์—๋Š” ๋ฐฐ์—ด ์‚ฌ์šฉ. ์ด ๊ฒฝ์šฐ์—๋Š”, ๋ฐ˜๋“œ์‹œ length ์ •๋ณด ํ•„์š”!!

๋ฐฐ์—ด

  • ADT ๊ด€์ ์—์„œ ๋ฐฐ์—ด์ด๋ž€?
    ๋™์ผํ•œ ํฌ๊ธฐ์˜ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์ด ์—ฐ์†์ ์œผ๋กœ ์ด์–ด์ ธ์„œ ์ธ์ ‘ํ•ด ์žˆ๋Š” ๊ฒƒ โ†’ ๋ฐ€์ง‘ ๋ฐฐ์—ด์˜ ๊ฐœ๋…์ž„!

๐Ÿค” ADT
- ์ถ”์ƒ์  ๋ฐ์ดํ„ฐ ํƒ€์ž…
- ํž™, ํŠธ๋ฆฌ, ์Šคํƒ, ํ ๋“ฑ

  • ๋ฐฐ์—ด์„ ์‚ฌ์šฉํ•˜๋Š” ์ƒํ™ฉ(์žฅ๋‹จ์ )

    (1) ์ž„์˜ ์ ‘๊ทผ(์ž„์˜์˜ ์š”์†Œ๋ฅผ ์ฐพ๋Š” ๊ฒƒ)์— ์ตœ์ ํ™”

    ์ฒซ ๋ฒˆ์งธ ์š”์†Œ๋“  ์„ธ ๋ฒˆ์งธ ์š”์†Œ๋“  ๋™์ผํ•œ ์‹œ๊ฐ„ ๋ณต์žก๋„๋ฅผ ๊ฐ€์ง(O(n))

    โ†’ ์„ ๋‘ ๋ฉ”๋ชจ๋ฆฌ ์ฃผ์†Œ + (๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์˜ ํฌ๊ธฐ * ์ธ๋ฑ์Šค)

    โ‡’ ์„ ๋‘ ๋ฉ”๋ชจ๋ฆฌ ์ฃผ์†Œ์™€ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์˜ ํฌ๊ธฐ๋Š” ์ƒ์ˆ˜, ์ธ๋ฑ์Šค๋Š” ๋ณ€์ˆ˜

    (2) ์š”์†Œ์˜ ์‚ฝ์ž…, ์‚ญ์ œ์—๋Š” ์ข‹์ง€ ์•Š์Œ
    ์ค‘๊ฐ„์˜ ์š”์†Œ๋ฅผ ๋ณ€๊ฒฝํ•˜๋Š” ๊ฒฝ์šฐ ๊ทธ ์•ž๋’ค์˜ ์š”์†Œ๊นŒ์ง€ ๋‹ค ์˜ฎ๊ฒจ์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ

โ— ๊ทธ๋ ‡๋‹ค๋ฉด..! ๋ฐฐ์—ด์€ ์–ด๋–ค ๊ฒฝ์šฐ์— ์‚ฌ์šฉํ•˜๋Š”๊ฐ€?
๋ฐ์ดํ„ฐ ์ถ”๊ฐ€, ์‚ญ์ œํ•˜๋Š” ์ผ์ด ์ ๊ณ  ์ ‘๊ทผ ๋ฐ ์กฐํšŒํ•˜๋Š” ์ผ๋งŒ ๋งŽ์€ ๊ฒฝ์šฐ์— ์‚ฌ์šฉ

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

  • ๊ทธ๋ž˜์„œ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ ๋ฐฐ์—ด์€ ๋ฐฐ์—ด์ด ์•„๋‹ˆ๋ผ ๋ฆฌ์ŠคํŠธ์— ๋” ๊ฐ€๊นŒ์›€
    ๋ฐฐ์—ด์˜ ์š”์†Œ๋กœ ๋ชจ๋“  ๋ฐ์ดํ„ฐ ํƒ€์ž…์ด ๋‹ค ๋“ค์–ด๊ฐˆ ์ˆ˜ ์žˆ์Œ
    ex) [ 1, '2', true] โ†’ ๊ฐ์ฒด์— ๋” ๊ฐ€๊นŒ์›€, ์ด๊ฒƒ์„ [1, 2, 3]์œผ๋กœ ๋งŒ๋“ค๋ฉด ๋” ๋น ๋ฅด๊ฒŒ ๋™์ž‘ํ•จ
    โ†’ ๋ฐฐ์—ด์˜ ๋ชฉ์ ์€ ์ˆœํšŒํ•˜๋ฉด์„œ ์š”์†Œ์— ๋™์ผํ•œ ๋กœ์ง์„ ์ ์šฉํ•˜๊ธฐ ์œ„ํ•จ์ธ๋ฐ,
    ์š”์†Œ์˜ ๋ฐ์ดํ„ฐ ํƒ€์ž…์ด ๋‹ค ๋‹ค๋ฅด๋‹ค๋ฉด ์š”์†Œ์— ๋™์ผํ•œ ๋กœ์ง์„ ์ ์šฉํ•  ์ˆ˜ ์—†๊ธฐ ๋•Œ๋ฌธ์— ๋ฐฐ์—ด์˜ ๋ชฉ์ ์„ ์œ„๋ฐฐํ•˜๋Š” ๊ฒƒ์ž„.
    ๋”ฐ๋ผ์„œ ๋ฐฐ์—ด์˜ ์š”์†Œ์— ๋™์ผํ•œ ๋ฐ์ดํ„ฐ ํƒ€์ž…์„ ์‚ฝ์ž…ํ•˜๋Š” ๊ฒƒ์ด ๋ฐ”๋žŒ์งํ•จ

    ๐Ÿ’ก ํ˜„์‹ค ์„ธ๊ณ„์˜ ๋ฐฐ์—ด ์š”์†Œ๋Š” [1, 2, 3 ]์ฒ˜๋Ÿผ ๊ฐ„๋‹จํ•œ ํ˜•ํƒœ๊ฐ€ ์•„๋‹ˆ๋ผ ์š”์†Œ์— ๊ฐ์ฒด๊ฐ€ ๋“ค์–ด๊ฐ€ ์žˆ๋Š” ํ˜•ํƒœ๊ฐ€ ๋” ๋งŽ๊ณ , ์ด๋Ÿฌํ•œ ์š”์†Œ๋Š” ์„œ๋ฒ„์˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์ €์žฅ๋˜์–ด ์žˆ์Œ

    ๊ทธ๋ž˜์„œ, ์‚ฌ์šฉ์ž๊ฐ€ ์ž…๋ ฅํ•œ ์ •๋ณด(๋ฐ์ดํ„ฐ)๋Š” ์˜์†์ ์œผ๋กœ ์ €์žฅ๋˜์–ด์•ผ ํ•จ
    โ†’ ๋ฉ”๋ชจ๋ฆฌ์— ์ €์žฅํ•˜๋Š” ๊ฒƒ์€ ์˜์†์ ์ด์ง€ ์•Š์Œ(์ „์› ๋„๋ฉด ๋‚ ์•„๊ฐ)
    ๊ทธ๋ž˜์„œ, ๋ฐ์ดํ„ฐ๋Š” ํ•˜๋“œ ๋””์Šคํฌ์— ํŒŒ์ผ๋กœ ์ž‘์„ฑํ•จ์œผ๋กœ์จ ์˜์†์ ์œผ๋กœ ์ €์žฅ๋  ์ˆ˜ ์žˆ์Œ!

    ์ด๋Ÿฌํ•œ ์—ญํ• ์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๊ฒƒ์ด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์ž„.
    ์ „์›์„ ๊บผ๋„ ์˜์†์ ์œผ๋กœ ์ €์žฅ๋จ. ๊ฒฐ๊ตญ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ๊ทผ๋ณธ์  ์—ญํ• ์€ ํŒŒ์ผ ์ž‘์„ฑ!

    โ†’ ๊ฒฐ๊ตญ ํ”„๋ก ํŠธ์—”๋“œ์—์„œ ์„œ๋ฒ„์— ์š”์ฒญํ•˜์—ฌ ์ „๋‹ฌ ๋ฐ›์€ ์ •๋ณด์˜ ๋ชฉ์ ์€ ํ™”๋ฉด ๊ตฌํ˜„(๋ Œ๋”๋ง)์„ ์œ„ํ•œ
    ๊ฒƒ์ž„. ๋ฐ์ดํ„ฐ๋Š” ๋ Œ๋”๋ง์˜ ์žฌ๋ฃŒ, HTML์ด ์žˆ์–ด์•ผ ์ด๋ฅผ ๊ทธ๋ฆด ์ˆ˜ ์žˆ์Œ, ํ”„๋ก ํŠธ์—”๋“œ ๊ฐœ๋ฐœ์ž๋Š”
    HTML์˜ DOM์„ ์ž˜ ์กฐ์ž‘ํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•จ

  • ๊ฒฐ๊ตญ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์—์„œ ๋ฐฐ์—ด์€ ์„œ๋ฒ„์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ›์•„์„œ ์กฐ์ž‘ํ•  ๋•Œ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ž„!

๊ณ ์ฐจํ•จ์ˆ˜

  • ๋ฐฐ์—ด์„ ์กฐ์ž‘ํ•  ์ผ์ด ์žˆ์„ ๋•Œ ๊ณ ์ฐจํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•จ

  • ์›๋ณธ ๋ฐฐ์—ด์„ ์กฐ์ž‘ํ•˜๋Š” ๋ฐฉ๋ฒ•์ด ์•ˆ ์ข‹์€ ์ด์œ 

    โ†’ ์ฝ”๋“œ์˜ ๋ผ์ธ ์ˆ˜๊ฐ€ ๋งŽ์•„์กŒ์„ ๋•Œ ๊ทธ ์›๋ณธ ๋ฐฐ์—ด์„ ์ถ”์ ํ•˜๋Š” ๊ฒƒ์ด ํž˜๋“ค์–ด์ง.
    ๊ทธ๋ ‡๋‹ค๋ฉด..? ๋ฐ”๋€ ๋ฐฐ์—ด์˜ ์ฃผ์†Œ ๊ฐ’์„ ์ƒˆ๋กญ๊ฒŒ ํ• ๋‹นํ•˜๋ฉด ์ถ”์ ํ•  ํ•„์š”๊ฐ€ ์—†์Œ
    โ†’ ์›๋ณธ์„ ํ›ผ์†์‹œํ‚ค์ง€ ์•Š๊ณ  ๋ถˆ๋ณ€์„ฑ์„ ์œ ์ง€์‹œํ‚ฌ ๊ฒƒ!!!!

    ์ถ”๊ฐ€๋กœ, ํ•จ์ˆ˜ ๋‚ด๋ถ€์—์„œ ์ง€์—ญ ๋ณ€์ˆ˜๋ฅผ ์งง๊ฒŒ ๋‹ค๋ฃจ๊ณ  ๋ฐ˜ํ™˜ํ•˜๋Š” ๊ฒฝ์šฐ์—๋Š” ์‚ฌ์šฉํ•ด๋„ ๋ฌด๋ฐฉํ•˜์ง€๋งŒ, ์›ฌ๋งŒํ•˜๋ฉด ์›๋ณธ ๋ฐฐ์—ด์„ ํ›ผ์†์‹œํ‚ค์ง€ ์•Š๋Š” ๋ฐฉ๋ฒ•์„ ์ง€ํ–ฅํ•ด์•ผ ํ•จ. ๋ฌผ๋ก , ๊ฐ์ฒด๋„ ๋งˆ์ฐฌ๊ฐ€์ง€!

  • ๋ฐฐ์—ด์—์„œ ๊ฐ€์žฅ ์ค‘์š”ํ•œ ๋ฉ”์„œ๋“œ : map, filter

    โ†’ ๋งŽ์ด ์‚ฌ์šฉํ•˜๊ณ  ์ต์ˆ™ํ•ด์ ธ์•ผ ํ•จ!!!!

    reduce๋Š” ๊ฐ€๋…์„ฑ์ด ์ข‹์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— ์ตœํ›„์˜ ์ˆ˜๋‹จ(map, filter, some, every ๋“ฑ์œผ๋กœ ํ•ด๊ฒฐ์ด ์•ˆ ๋˜๋Š” ๊ฒฝ์šฐ)์œผ๋กœ ์‚ฌ์šฉํ•˜๊ธฐ.


map

  • โ€˜mapโ€™์ด๋ž€?
    1:1 ์—ฐ๊ฒฐ์ด ๊ฐ€๋Šฅํ•จ.

  • map์˜ ์ค‘์š”ํ•œ ํŠน์ง•
    ๋ฐ˜ํ™˜ ๊ฐ’์œผ๋กœ ์ƒˆ๋กœ์šด ๋ฐฐ์—ด์„ ๋ฐ˜ํ™˜ํ•œ๋‹ค๋Š” ํŠน์ง•์ด ์žˆ์Œ
  • ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ๊ด€์ ์—์„œ๋Š” ๋ฐฐ์—ด์„ ์ƒˆ๋กญ๊ฒŒ ๋งŒ๋“œ๋Š” ๊ฒƒ๋ณด๋‹ค ๊ธฐ์กด์˜ ๋ฐฐ์—ด์„ ๋ฐ”๊พธ๋Š” ๊ฒƒ์ด ๋น ๋ฆ„
    โ†’ ๊ทธ๋ ‡๋‹ค๋ฉด ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ map์€ ์™œ ์ƒˆ๋กœ์šด ๋ฐฐ์—ด์„ ๋ฐ˜ํ™˜ํ•˜๋Š”๊ฐ€?
    ์›๋ณธ ๋ฐฐ์—ด์„ ๋ฐ”๊พธ๋ฉด ์™ธ๋ถ€ ์ƒํƒœ๋ฅผ ๋ฐ”๊พธ๋Š” ๋ถ€์ˆ˜ ํšจ๊ณผ ๋ฐœ์ƒ, ์ „ํ˜•์ ์ธ ๋น„์ˆœ์ˆ˜ ํ•จ์ˆ˜๋กœ ๋™์ž‘ํ•˜๊ธฐ ๋•Œ๋ฌธ์ž„.

    โ—๏ธ ๊ฒฐ๊ตญ ์ˆœ์ˆ˜ ํ•จ์ˆ˜๋ฅผ ์ƒ์„ฑํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ์›๋ณธ ๋ฐฐ์—ด์„ ๋ฐ”๊พธ์ง€ ์•Š๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•จ

  • map์˜ ๋™์ž‘ ๊ณผ์ •
    ๋ฉ”์„œ๋“œ๋ฅผ ํ˜ธ์ถœํ•œ ๊ฐ์ฒด๋ฅผ ์ˆœํšŒํ•จ. ๊ฐ€๋…์„ฑ์ด ์ข‹์€ ๊ฒƒ์€ ์ฒ˜์Œ๋ถ€ํ„ฐ ๋๊นŒ์ง€ ๋น ์ง์—†์ด ๋„๋Š” ๊ฒƒ์ž„! map์˜ ์ฝœ๋ฐฑ ํ•จ์ˆ˜๋Š” ๋ฐ˜๋“œ์‹œ return ๊ฐ’์ด ์žˆ์–ด์•ผ ํ•˜๊ณ , ๊ทธ return ๊ฐ’์œผ๋กœ ์ƒˆ๋กœ์šด ๋ฐฐ์—ด ์š”์†Œ๋ฅผ ๋ฐ˜ํ™˜ํ•จ ๋ฌด์กฐ๊ฑด ์ฝœ๋ฐฑ ํ•จ์ˆ˜์˜ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์š”์†Œ ๊ฐ’, ์ธ๋ฑ์Šค, this๋ฅผ ๋„˜๊ฒจ์ฃผ๊ฒŒ ๋˜๋Š”๋ฐ, ๊ทธ ์ „๋‹ฌ ๋ฐ›์€ ์ธ์ˆ˜ ์ค‘ ์‚ฌ์šฉํ•˜๊ณ  ์‹ถ์€ ๊ฐœ์ˆ˜์— ๋”ฐ๋ผ ์ฝœ๋ฐฑ ํ•จ์ˆ˜์˜ ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ์ง€์ •ํ•ด์ฃผ๋ฉด ๋จ.

  • map์„ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ 
    ์š”์†Œ๋ฅผ ๋ณ€ํ˜•ํ•ด์„œ ์ƒˆ๋กœ์šด ๋ฐฐ์—ด์„ ๋งŒ๋“ค ๋•Œ ์‚ฌ์šฉํ•จ.
    โ†’ ์›๋ณธ ์š”์†Œ์™€ ์ƒˆ๋กญ๊ฒŒ ๋งŒ๋“œ๋Š” ๋ฐฐ์—ด์˜ ์š”์†Œ๊ฐ€ ์ผ์น˜ํ•˜๋Š” ๊ฒฝ์šฐ ์‚ฌ์šฉํ•ด์•ผ ํ•จ

  • filter๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ 
    ์›๋ณธ ์š”์†Œ์™€ ์ƒˆ๋กญ๊ฒŒ ๋งŒ๋“œ๋Š” ๋ฐฐ์—ด์˜ ์š”์†Œ๊ฐ€ ๊ฐ™์„ ์ˆ˜๋„ ์žˆ๊ณ , ๋” ์ ์„ ์ˆ˜๋„ ์žˆ์Œ
  • reduce๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ 
    ์›๋ณธ ์š”์†Œ๋ฅผ ํ† ๋Œ€๋กœ ๋ฐ˜ํ™˜ํ•˜๋Š” ๊ฐ’์ด ๋‹จ ํ•˜๋‚˜์ธ ๊ฒฝ์šฐ์— ์‚ฌ์šฉํ•ด์•ผ ํ•จ
profile
์„ฑ์žฅํ•˜๋Š” ๊ฐœ๋ฐœ์ž๐ŸŒผ

0๊ฐœ์˜ ๋Œ“๊ธ€