2. TypeScript
Keyword
REPL
TypeScript
2-1 Interface vs Type
2-2 νμ μΆλ‘
2-3 Union Type vs Intersection Type
2-4 Optional Parameter
1. REPL
Read-Eval-Print Loopμ μ½μ μΈν°νλ¦¬ν° μΈμ΄μμ μ¬μ©λλ λνν κ°λ° λꡬ λλ νκ²½μΌλ‘ ν°λ―Έλμ μ½λλ₯Ό μ λ ₯νλ©΄ μ¦μ μ€ν κ²°κ³Όλ₯Ό λ°μ μ μλ€.
2. TypeScript
TypeScriptλ λμ νμ μΈμ΄μΈ JavaScriptμ μ μ νμ μ λΆμ¬ν μΈμ΄μ΄λ€. λΈλΌμ°μ λ JavaScript νμΌλ§ μ€ν κ°λ₯νλ―λ‘ λ³ν κ³Όμ μΈ μ»΄νμΌμ΄ νμνλ€.
μ νμ
μ€ν¬λ¦½νΈλ₯Ό μ¬μ©ν΄μΌν κΉ?
μ½λ λ 벨μμ μλ¬μ μ¬μ μλ°©
νΈμ§κΈ°μ μ½λ κ°μ΄λ λ° μλ μμ± κΈ°λ₯ (κ°λ° μμ°μ± ν₯μ)
νΉμ λ³μμ νμ μ΄ μ§μ λμ΄ μμκ²½μ° ν΄λΉ νμ μ μ¬μ©κ°λ₯ν APIλ₯Ό 미리 λ³΄κΈ°λ‘ κ°μ΄λ ν΄μ€λ€.
μ§μ§ 2λ²μ΄ μ§λλ² κΈ°
VSC ν΄μ λ΄λΆκ° TSλ‘ μμ±λμ΄ μμ΄ TSκ°λ°μ μ΅μ νλμ΄ μλ€κ³ νλ€.
2-1 Interface vs Type
TypeScriptμμ νμ μ μ μνλ λ°©λ²λ€λ‘ Type(Type alias)κ³Ό Interfaceμ κ²°μ μ μ°¨μ΄λ νμ μ νμ₯(extends) κ°λ₯ μ¬λΆμ μλ€.
1. Interface
κ°μ²΄ λλ ν΄λμ€ κ°μ ꡬ쑰νλ νμ μ μ μν λ μ μ©νλ€.
2. Type alias
μ μ°ν νμ μ μ μ 곡 (Union, intersection, tuple λ±)
2-2 νμ
μΆλ‘ (Type Inference)
λ³μλ±μ νμ μ λ°λ‘ μ§μ νμ§ μμλ νμ μ€ν¬λ¦½νΈκ° μ½λλ₯Ό λΆμν΄ νμ μ μΆλ‘ νλ κ³Όμ μ μλ―Έ
Best Common Type
μ¬λ¬ ννμμ νμ μ λΉκ΅νμ¬ κ°μ₯ κ·Όμ ν νμ μ μ ννλ κ·μΉ
νμ μ λͺ μμ μΌλ‘ μ§μ νμ§ μμμ§λ§ Best Common Type κ·μΉμ ν΅ν΄
(number | null)[]
νμ μΌλ‘ μΆλ‘ λλ€.
2-3 Union Type vs Intersection Type
μ°μ°μλ₯Ό μ΄μ©ν΄ νμ μ μ μνλ λ°©λ²
1. Union Type
OR μ°μ°μ(||) μ²λΌ 'Aμ΄κ±°λ Bμ΄λ€'λ₯Ό μ μνλ νμ
2. Intersection Type
ν©μ§ν©μ²λΌ μ¬λ¬κ°μ νμ μ λͺ¨λ λ§μ‘±νλλ‘ νλλ‘ ν©μΉ μ μλ€.
2-4 Optional Parameter
ν¨μ νΈμΆ μ λ§€κ°λ³μ, μΈν°νμ΄μ€λ₯Ό μ¬μ©ν λ μ μ λ μμ±μ μλ΅ ν μ μλ€. λν μ μλμ΄ μμ§ μμ μμ±μ λν΄ μΈμ§ν μ μλ€.
μΆκ° ν€μλ μ 리
d.ts(declaration)
νμ μ€ν¬λ¦½νΈ μ½λμ νμ μΆλ‘ μ λλ TS μ μΈ νμΌ
μ νΈλ¦¬ν° νμ
Partial, Pick, Omit λ± κΈ°μ‘΄μ μ μλ νμ μ κ°μ§κ³ μ¬μ μ ν λ μ μ©
μ λλ¦
νμ μ λ§μΉ ν¨μμ νλΌλ―Έν°μ²λΌ μ¬μ©ν μ μλ€.
Last updated