2. TypeScript
νμ΅ ν€μλ
REPL
TypeScript
interface vs Type
νμ μΆλ‘
Union Type vs Intersection Type
Optional Parameter
νμ€μ μΌλ‘ TypeScriptλ₯Ό μ°λ κ°μ₯ ν° μ΄μ λ vscode μλμμ± + μ€μκ° μ€λ₯ κ²μ¬
μ€λλ λΌμ΄λΈλ¬λ¦¬μ κ²½μ° d.ts νμΌλ§ λ°λ‘ ν¨ν€μ§λ‘ μ 곡λλ€.
νμ
λ³μΉ (type alias)
λκ°μ νμ μ ν λ² μ΄μ μ¬μ¬μ©νκ±°λ λ€λ₯Έ μ΄λ¦μΌλ‘ λΆλ₯΄κ³ μΆμ κ²½μ°μ μ¬μ©νλ€.
νμ μ μν μ΄λ¦μ΄λ€.
κ°μ²΄ νμ λΏμ΄ μλ λͺ¨λ νμ μ λν΄ μλ‘μ΄ μ΄λ¦μ λΆμ¬ν μ μλ€.
λ¨μ§ λ³μΉμΌλ‘, λμΌ νμ μ λν΄ κ°κΈ° ꡬλ³λλ 'μ¬λ¬ λ²μ 'μ λ§λλκ² μλλ€.
λ³λλ‘ μ΄λ¦ λΆμΈ νμ μ μλ‘ μμ±νλ κ².
interface
κ°μ²΄ νμ μ λ§λλ λ λ€λ₯Έ λ°©λ².
νμ
λ³μΉκ³Ό μΈν°νμ΄μ€μ μ°¨μ΄μ
λΉμ· νμ§λ§ λλ ·ν μ°¨μ΄λ,
νμ μ μ νλ‘νΌν°λ₯Ό μΆκ°νλλ‘ κ°λ°©λ μ μκ³ ,
μΈν°νμ΄μ€μ κ²½μ° νμ₯λ μ μλ€λ μ μ λλ€.
typeλ Bear νμ μ λ§λ€ μ μμ§λ§
νλ‘νΌν°κ° μΆκ°λλ extendsμ κ°λ μ΄ μλκ³ κ΅μ§ν©μ μ΄μ©ν λ°©μμ΄λΌμ
νμ₯ νΉμ κ°λ°©μ΄ λ μλ μλ€κ³ ννν κ² κ°λ€.
κΈ°μ‘΄μ μΈν°νμ΄μ€μ μ νλλ₯Ό μΆκ°νκΈ°
νμ
μ μμ±λ λ€μλ λ¬λΌμ§ μ μλ€
μΈμ μ΄λ€κ±Έ μ¨μΌν μ§ μ λͺ¨λ₯΄κ² λ€λ©΄ μ°μ interface μ°κ³ λ¬Έμ κ° λ°μν λ type μ°λΌν¨.
μ ν΄μ§ κ°μΌλ‘ νμ μ μ§μ ν μλ μλ€. μ΄λ° νμ μ Unionμμ μ μ©νκ² μ°μΈλ€.
λ°°μ΄λ³΄λ€ κΉκΉν Tuple νμ μ΄ μλ€.
Union Type
μ¬λ¬ νμ μ€ νλ.
λ§€κ°λ³μ μ νν λ λ§€μ° μ μ©
κΈ°λ³Έκ°μ μ‘μμ€ μ μλ€.
λ§€κ°λ³μκ° μ€λΈμ νΈμΌ κ²½μ°
β μ΄λ κ² μ°λ©΄ ts-nodeμμ μμ½κ²λ ν΄μ λΆκ°.
μλμ²λΌ ν μ€λ‘ λΆμ¬μ μ°κ±°λ, type λ±μΌλ‘ λ°λ‘ μ‘μμ£Όλ©΄ λλ€.
Intersection Type
κ΅μ§ν©
Intersection Types
interfacesλ₯Ό μ¬μ©νλ©΄ λ€λ₯Έ μ νμ νμ₯νμ¬ μ μ νμ ꡬμΆν μ μλ€.
Generics
μ¬μ¬μ© κ°λ₯ν μ»΄ν¬λνΈλ₯Ό ꡬμΆνλλ° μ¬μ©νλ λꡬ.
νμ¬μ λ°μ΄ν°μ λ―Έλμ λ°μ΄ν° λͺ¨λλ₯Ό λ€λ£° μ μλ μ»΄ν¬λνΈλ₯Ό λ§λ λ€.
λ¨μΌ νμ μ΄ μλ λ€μν νμ μμ μλνλ μ»΄ν¬λνΈλ₯Ό μμ±ν μ μλ€.
anyλ μ΄λ€ νμ μ΄λ λ°μ μ μμ§λ§ λ°ννλ κ°μ νμ μ μλλ€.
numberκ°μ λ겨λ any νμ μ΄ λ°νλλ€λ μλ―Έ.
μ°λ¦¬λ 무μμ΄ λ°νλλμ§ νμνκΈ° μν΄ μΈμμ νμ
μ μΊ‘μ²
ν λ°©λ²μ΄ νμν©λλ€.
κ°μ΄ μλ νμ μ μ μ©λλ νμ λ³μλ₯Ό μ¬μ©ν κ²μ λλ€.
TypeλΌλ νμ λ³μλ₯Ό μΆκ°νλ€.
Typeμ μ μ κ° μ€ μΈμμ νμ
μ μΊ‘μ²
νκ³ μ΄ μ 보λ₯Ό λμ€μ μ¬μ©ν μ μκ² νλ€.
μ¬κΈ°μλ λ°ν νμ μΌλ‘ λ€μ μ¬μ©.
μ΄ λ²μ μ identity ν¨μλ νμ
μ λΆλ¬Ένκ³ λμνλ―λ‘ μ λ€λ¦
μ΄λΌ ν μ μμ΅λλ€.
anyλ₯Ό μ°λ κ²κ³Όλ λ€λ₯΄κ² μΈμμ λ°ν νμ μ numberλ₯Ό μ¬μ©ν 첫 λ²μ§Έ identity ν¨μλ§νΌ μ ν.
(μ¦, μ΄λ€ μ 보λ μμ§ μλλ€)
Last updated