TypeScript/νƒ€μž…μŠ€ν¬λ¦½νŠΈ TypeScript

[νƒ€μž…μŠ€ν¬λ¦½νŠΈ] 호좜 μ‹œκ·Έλ‹ˆμ²˜(νƒ€μž…μ‹œκ·Έλ‹ˆμ²˜)λž€?

Rainbow🌈Coder 2022. 4. 20. 23:09
728x90

ν•¨μˆ˜ μ‹œκ·Έλ‹ˆμ²˜λž€ μ»΄νŒŒμΌλŸ¬κ°€ ν•¨μˆ˜λ₯Ό κ΅¬λΆ„ν•˜κΈ° μœ„ν•œ κ΅¬μ„±μš”μ†Œλ₯Ό λ§ν•œλ‹€. ν”„λ‘œκ·Έλž˜λ° μ–Έμ–΄λ§ˆλ‹€ μ‹œκ·Έλ‹ˆμ³λ₯Ό κ΅¬μ„±ν•˜λŠ” μš”μ†Œκ°€ λ‹€λ₯΄μ§€λ§Œ λŒ€μ²΄μ μœΌλ‘œ μ•„λž˜μ˜ μš”μ†Œκ°€ ν¬ν•¨λ˜μ–΄ μžˆλ‹€.

  • ν•¨μˆ˜μ˜ 이름
  • λ§€κ°œλ³€μˆ˜(Parameter)의 개수
  • (μ˜΅μ…”λ„) λ§€κ°œλ³€μˆ˜μ˜ μžλ£Œν˜•
  • (μ˜΅μ…”λ„) λ°˜ν™˜ν•˜λŠ” κ°’μ˜ μžλ£Œν˜•

λ§Œμ•½ 두 ν•¨μˆ˜μ˜ 이름, λ§€κ°œλ³€μˆ˜μ˜ 개수, κ·Έ νƒ€μž…μ΄ λͺ¨λ‘ κ°™λ‹€λ©΄ 이 두 ν•¨μˆ˜μ˜ μ‹œκ·Έλ‹ˆμ²˜λŠ” κ°™λ‹€κ³  ν•  수 μžˆλ‹€.

ν•¨μˆ˜μ˜ 전체 νƒ€μž…μ„ ν‘œν˜„ν•˜λŠ” 방법

function sum(a: number, b: number): number {
  return a + b;
}

numberνƒ€μž…μ˜ 인자 λ‘κ°œλ₯Ό λ°›μ•„ numberνƒ€μž…μ„ λ°˜ν™˜ν•œλ‹€λŠ” 뜻의 νƒ€μž…μŠ€ν¬λ¦½νŠΈμ˜ ν•¨μˆ˜ νƒ€μž… 문법

(a: number, b: number) => number

이런 μ‹μ˜ ν‘œν˜„μ„ 호좜 μ‹œκ·Έλ‹ˆμ²˜(call signature) λ˜λŠ” νƒ€μž… μ‹œκ·Έλ‹ˆμ²˜(type signature) 라 λΆ€λ₯Έλ‹€. ν•¨μˆ˜μ— ν•¨μˆ˜λ₯Ό 인수둜 μ „λ‹¬ν•˜κ±°λ‚˜ ν•¨μˆ˜μ—μ„œ λ‹€λ₯Έ ν•¨μˆ˜λ₯Ό λ°˜ν™˜ν•˜λŠ” 경우 이 λ¬Έλ²•μœΌλ‘œ μΈμˆ˜λ‚˜ λ°˜ν™˜ν•¨μˆ˜μ˜ νƒ€μž…μ„ μ§€μ •ν•  수 μžˆλ‹€.

728x90