Skip to content

Latest commit

ย 

History

History
48 lines (41 loc) ยท 1.56 KB

JavaScript-full-stack04.md

File metadata and controls

48 lines (41 loc) ยท 1.56 KB

{ํ’€์Šคํƒ} JavaScript 4๊ฐ• - ํ•จ์ˆ˜(Function)

ํ•จ์ˆ˜

  • ํ•จ์ˆ˜ ์‚ฌ์šฉ ์ด์œ ; ์ค‘๋ณต ์ฝ”๋“œ ์ œ๊ฑฐ
  • ํ•จ์ˆ˜๋Š” 1๊ฐ€์ง€ ์ผ๋งŒ ํ•ด๋ผ
  • ํ•จ์ˆ˜ ๋ฆฌํ„ฐ๋Ÿด; ๊ฐ’
  • Function ์ƒ์„ฑ์ž ํ•จ์ˆ˜; AWS Lambda ๊ฐ€๋Šฅ
    • string์ด ์†Œ์Šค์ฝ”๋“œ๊ฐ€ ๋จ (๋ฆฌํ”Œ๋ ‰์…˜)
  • ํ•จ์ˆ˜ ์„ ์–ธ๋ฌธ์€ ํ•จ์ˆ˜ ์ด๋ฆ„ ์ƒ๋žต ๋ถˆ๊ฐ€
  • ํ•จ์ˆ˜ ์„ ์–ธ๋ฌธ์œผ๋กœ ์ •์˜ํ•œ ํ•จ์ˆ˜์™€ ํ•จ์ˆ˜ ํ‘œํ˜„์‹์œผ๋กœ ์ •์˜ํ•œ ํ•จ์ˆ˜์˜ ์ƒ์„ฑ ์‹œ์  ๋‹ค๋ฆ„
    • ์ธ์Šคํ„ด์Šคํ™” ๋˜๋Š” ์‹œ์  ๋‹ค๋ฆ„
    • ๋ฉ”๋ชจ๋ฆฌ์— ์žกํžˆ๋Š” ์‹œ์  ๋‹ค๋ฆ„
    • ์ƒ์„ฑ(์‹คํ–‰ ์ปจํ…์ŠคํŠธ์— ๋“ฑ๋ก)
  • new Function()์€ ํด๋กœ์ € ์•ˆํƒ
  • ํ™”์‚ดํ‘œ ํ•จ์ˆ˜๋Š” this๊ฐ€ ๋‹ค๋ฆ„
  • ํ•จ์ˆ˜ ๋‚ด arguments ๊ฐ์ฒด ์กฐ์ž‘ ํ•˜์ง€ ๋ง๊ธฐ
    • ์Šคํ”„๋ ˆ๋“œ ์—ฐ์‚ฐ์ž ํ™œ์šฉ
  • ์ˆœ์ˆ˜ํ•จ์ˆ˜
    • ๋ฐ”๊นฅ ๋ณ€์ˆ˜ ์กฐ์ž‘ X
    • ๋˜‘๊ฐ™์€ ์ž…๋ ฅ -> ํ•ญ์ƒ ๋˜‘๊ฐ™์€ ๊ฒฐ๊ณผ ๋ฐ˜ํ™˜
  • ์ฝœ๋ฐฑ ํ•จ์ˆ˜ ๋งค์šฐ ์ค‘์š”
    • ๋น„๋™๊ธฐ
    • functional language์˜ ๋ฐฑ๋ฏธ
  • ์ฝœ๋ฐฑ ํ•จ์ˆ˜ ์‚ฌ์šฉ ์ด์œ 

[Note]

  • 12์žฅ ํ•จ์ˆ˜ ์ฑ•ํ„ฐ ๋งค์šฐ ์ค‘์š”
  • ๋ฆฌํ„ฐ๋Ÿด
  • ํ•จ์ˆ˜ ์„ ์–ธ๋ฌธ์ด ํ˜ธ์ด์ŠคํŒ…๋จ
  • let๋„ ํ˜ธ์ด์ŠคํŒ…๋จ
  • ๋ฆฌํ”Œ๋ ‰์…˜
    • ์ฝ”๋“œ๋Š” ์‹คํ–‰ํ•˜๊ธฐ ์ „๊นŒ์ง€ ๋ฌธ์ž์ผ ๋ฟ
    • ์ฝ”๋“œ ์‹คํ–‰ํ•˜๋ฉด ๋ฉ”๋ชจ๋ฆฌ์— ๊ฐ์ฒด๋กœ ์žกํž˜
    • ๊ฐ์ฒด๋งŒ ๊ฐ€์ง€๊ณ ๋Š” ๋‚ด๋ถ€์— ํ•จ์ˆ˜๋“ค์ด ์ค‘์ฒฉ๋˜์–ด ์žˆ๋Š”์ง€ ๋ชจ๋ฆ„
    • ๊ฐ์ฒด๋ฅผ ๊ฑฐ์šธ์— ๋น„์ท„๋”๋‹ˆ ๋ฌธ์ž๊ฐ€ ๋จ
    • ๋ฌธ์ž๋ฅผ ๊ฑฐ์šธ์— ๋น„์ท„๋”๋‹ˆ ๊ฐ์ฒด๊ฐ€ ๋จ
    • new Function() => ๋ฌธ์ž๋ฅผ ๊ฐ์ฒดํ™” ์‹œํ‚ด
  • arr.sort() -> JS ์—”์ง„๋งˆ๋‹ค ๊ตฌํ˜„ ๋ฐฉ์‹ ๋‹ค๋ฆ„
    • ํฌ๋กฌ; ๋ฒ„๋ธ” + ํ€ต ์†ŒํŠธ
    • ์‚ฌํŒŒ๋ฆฌ๋Š”?

Reference