2024-05-06.md

🏑

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

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


λ°œν‘œ 예제λ₯Ό λ§Œλ“€μž

  • 1μž₯ μ½κΈ°λŠ” μ™„λ£Œν•¨ (240501.md)
  • μ‹€μŠ΅ λ°œν‘œ 예제 λ§Œλ“€κΈ°
    • μ–΄λ–»κ²Œ λ§Œλ“€ 것인가?
  • typescript exercise μ°Έκ³ ν•˜κΈ°
    • Intro와 Exercise 그리고 μ˜΅μ…”λ„ν•œ Higher difficulty bonus exercise둜 ꡬ성
  • typescript challenges μ°Έκ³ ν•˜κΈ°
    • 각 κ°œλ…λ³„ ν€΄μ¦ˆ

μ•„μ΄ν…œλ³„ μ˜ˆμ‹œ 정리

| μ•„μ΄ν…œ | μ˜ˆμ‹œ | ν‚€μ›Œλ“œ | | ------ | -------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------- | | 1 | μ˜€νƒ€μ™€ νƒ€μž… ꡬ문, JS 였λ₯˜κ°€ μ•„λ‹ˆμ§€λ§Œ νƒ€μž… μ²΄μ»€μ—μ„œ 문제점으둜 ν‘œμ‹œλ˜λŠ” 경우 | μžλ°”μŠ€ν¬λ¦½νŠΈμ™€ νƒ€μž… 체컀 | | 2 | implicitAny, strictNullChecks | νƒ€μž…μŠ€ν¬λ¦½νŠΈ μ„€μ • | | 3 | (1)λŸ°νƒ€μž„μ— νƒ€μž… 정보λ₯Ό μœ μ§€ν•˜λŠ” 방법 (attribute 체크, tagged union, class) (2)ν•¨μˆ˜ 자체λ₯Ό μ˜€λ²„λ‘œλ“œx νƒ€μž… μˆ˜μ€€λ§Œ κ°€λŠ₯(implementation은 ν•˜λ‚˜) | μ½”λ“œ 생성과 νƒ€μž…μ€ λ…λ¦½μ μž„ | | 4 | (1)ꡬ쑰적 νƒ€μ΄ν•‘μœΌλ‘œ 인해 였λ₯˜κ°€ λ°œμƒν•˜μ§€ μ•Šμ•„ λ¬Έμ œκ°€ λ˜λŠ” μΌ€μ΄μŠ€. (2)ν΄λž˜μŠ€μ™€ ꡬ쑰적 타이핑 (μΈμŠ€ν„΄μŠ€κ°€ μ˜ˆμƒκ³Ό λ‹€λ₯Ό 수 있음) (3)μœ λ‹› ν…ŒμŠ€νŒ… | ꡬ쑰적 타이핑 | | 5 | any νƒ€μž…μ„ μ‚¬μš©ν–ˆμ„ λ•Œ μƒκΈ°λŠ” 문제 μΌ€μ΄μŠ€λ“€ | any |

문제 μœ ν˜•

간단함 > λ³΅μž‘ν•¨ μˆœμ„œ

  • κ°œλ… ν€΄μ¦ˆ
    • ꡐ재의 κ°œλ…μ„ κΈ°μ€€μœΌλ‘œ O/X, λ˜λŠ” n지선닀 ν€΄μ¦ˆ
  • λ³€ν˜• 예제
    • ꡐ재의 예제λ₯Ό μ°Έκ³ ν•˜μ—¬ λ³€ν˜•ν•œ 예제λ₯Ό λ§Œλ“ λ‹€.
  • λΈ”λž™λ°•μŠ€ ν€΄μ¦ˆ
    • ν…ŒμŠ€νŠΈ μΌ€μ΄μŠ€κ°€ μ‹€νŒ¨ν•œ 원인을 μ°ΎλŠ”λ‹€.
  • ν€΄μ¦ˆλ₯Ό μœ„ν•œ μ‹œλ‚˜λ¦¬μ˜€ λ§Œλ“€κΈ°
    • ꡬ상 ν•„μš”