2024-05-20.md

🏑

DIL: μ΄νŽ™ν‹°λΈŒ νƒ€μž…μŠ€ν¬λ¦½νŠΈ

μŠ€ν„°λ””: μ›”κ°„ CS, https://github.com/monthly-cs/2024-05-effective-typescript
μž‘μ„±μΌ: 2024-05-20
μž‘μ„±μž: dusunax


치과 μ•Όκ°„μ§„λ£Œ 이슈둜 11μ‹œμ— 잠깐 μ½μ—ˆμŠ΅λ‹ˆλ‹€πŸ€•

3μž₯ νƒ€μž… μΆ”λ‘ 

  • 산업계 μ–Έμ–΄λŠ” 정적 νƒ€μž…κ³Ό λͺ…μ‹œμ  νƒ€μž…μ΄ μ „ν†΅μ μœΌλ‘œ 같은 의미
  • ν•™μˆ κ³„ μ–Έμ–΄λŠ” ν˜Όλ™ν•΄μ„œ 쓰지 μ•ŠμŒ

| μ–Έμ–΄ | 계열 | λ‚΄μš© | | ---------- | ------ | --------------------------------------------------------------- | | ML, ν•˜μŠ€μΌˆ | ν•™μˆ κ³„ | νƒ€μž… μΆ”λ‘  μ‹œμŠ€ν…œ | | C++, μžλ°” | 산업계 | 10λ…„ μ „λΆ€ν„° κΈ°μ‘΄ 산업계 언어에도 νƒ€μž… μΆ”λ‘  κΈ°λŠ₯이 μΆ”κ°€λ˜κΈ° μ‹œμž‘ |

정적 νƒ€μž…(static typing) vs. λͺ…μ‹œμ  νƒ€μž…(explicit typing)

  • 정적 νƒ€μž…(static typing): 컴파일 μ‹œμ μ— λ³€μˆ˜μ˜ νƒ€μž…μ΄ κ²°μ •λ˜λŠ” 것을 의미. νƒ€μž… μ•ˆμ •μ„±μ„ λ†’μ—¬μ£Όκ³ , λŸ°νƒ€μž„ 였λ₯˜λ₯Ό μ€„μ΄λŠ” 데 도움이 λœλ‹€. 정적 νƒ€μž… μ‹œμŠ€ν…œμ„ 가진 μ–Έμ–΄λŠ” μ»΄νŒŒμΌλŸ¬κ°€ μ½”λ“œκ°€ μ‹€ν–‰λ˜κΈ° 전에 νƒ€μž… 였λ₯˜λ₯Ό κ²€μΆœν•  수 μžˆλ‹€.

  • λͺ…μ‹œμ  νƒ€μž…(explicit typing): ν”„λ‘œκ·Έλž˜λ¨Έκ°€ λ³€μˆ˜λ‚˜ ν•¨μˆ˜μ˜ νƒ€μž…μ„ λͺ…μ‹œμ μœΌλ‘œ μ„ μ–Έν•΄μ•Ό ν•˜λŠ” 것을 의미. μ½”λ“œμ˜ 가독성을 높이고, νƒ€μž…μ„ λͺ…ν™•νžˆ μ•Œ 수 있게 ν•œλ‹€.

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

  • νƒ€μž…μŠ€ν¬λ¦½νŠΈλŠ” νƒ€μž… 좔둠을 적극적으둜 μˆ˜ν–‰ν•œλ‹€
  • μˆ˜λ™μœΌλ‘œ λͺ…μ‹œν•˜λŠ” νƒ€μž… ꡬ문의 수λ₯Ό 쀄여, 전체적 μ•ˆμ •μ„±μ΄ ν–₯μƒλœλ‹€
    • 적은 ꡬ문으둜 μˆ™λ ¨λ˜κ²Œ μ‚¬μš©ν•˜κΈ°
  • 3μž₯ ν•™μŠ΅ λͺ©ν‘œ
    • νƒ€μž… 좔둠이 κ°€λŠ₯ν•˜λ”λΌλ„ λͺ…μ‹œμ μœΌλ‘œ νƒ€μž… 선언이 ν•„μš”ν•œ 경우 μ΄ν•΄ν•˜κΈ°
    • μ–Έμ œ νƒ€μž… 선언을 μž‘μ„±ν•΄μ•Ό ν•˜λŠ”μ§€ μ•ŒκΈ°
    • μ–΄λ–»κ²Œ νƒ€μž…μ„ μΆ”λ‘ ν•˜λŠ”μ§€ 확인