230127(κΈ)
π μ±μ₯μΌμ§ 3.1
μ±
ν볡ν μ΄κΈ°μ£Όμμ(μ¨μΈ λ€μ΄μ΄)
μ λ΄μ©μ μκ·Ήλ°μ μμνλ μλ°ν μ±μ₯κΈ°λ‘
μ΄μμλ κ½κ³Ό μ£½μ κ½μ μ΄λ»κ² ꡬλ³νλκ°?
μ±μ₯νκ³ μλ κ²μ΄ μ΄μ μλ κ²μ΄λ€.
μλͺ μ μ μΌν μ¦κ±°λ μ±μ₯μ΄λ€!
π³ ν€μλ (1.0)
μ΅λν κ°λ¨νκ² μ 리, μΆνμ 보면μ μ€μ€λ‘ μ€λͺ
π κ²½ν μμ£Όλ‘ (2.0)
λ¨μ μ 보λ₯Ό μ λ¬νκΈ°λ³΄λ€ λ¬΄μμ λ°°μ κ³ μ΄λ»κ² ν΄κ²°νλμ§ μ§§κ³ κ°λ¨νκ² μμ±
βοΈ μ ν΄μ§ ν νλ¦Ώμ λ§μΆ°μ (3.0)
ν€μλ, κ²½ν λͺ¨λ μ’λ€. λ€λ§ λ§€μΌ μμ±νκΈ°λ‘ λ§μ λ¨Ήμλ§νΌ ν΅μ¬λ§ κ°κ²°νκ² μ 리ν μ μκ² ν νλ¦Ώμ μμ± (3.1) 230102λΆν° μμλλ νμ΅μ κ΄ν λ΄μ© μΆκ°
π μ€λμ ν€μλ
νννννννμ μ€ν¬ν¬ν¬ν¬ν¬ν¬ν¬λ¦½νΈ
μ²μ μλ°μ€ν¬λ¦½νΈ μΈμ΄ νΉμ μ μμ λ‘μ λλ¬Έμ λ무 μ’μλ€. νλ° νμ μ€ν¬λ¦½νΈλ λκ° μνΌλ° κ², κ·Έ μμ λ‘μμ μ°¬λ¬Όμ λΆλ λλμ΄λΌ λ§ νΈκ°μ΄ κ°μ§ μμλ κ±° κ°λ€. μκ°λ³΄λ€ 볡μ‘νκΈ°λ νκ³ μΌμΌν νμ μ μ§μ ν΄μ£Όμ΄μΌ νλ κ² μμ£Ό ν° μ₯μ μΌλ‘ λκ»΄μ§μ§ μμλ€.(κ·λͺ¨κ° κ΅μ₯ν μμ μ½λμμΌλ) νλ°, μμ¦ νμ μ€ν¬λ¦½νΈμ 맀λ ₯μ μ λ§ μ λ§ μ λλΌλ μ€μ΄λ€. κΈ°μ‘΄ λμ νμ μΈμ΄μΈ μλ°μ€ν¬λ¦½νΈλ₯Ό μλ²½νμ§ μλλΌλ μ΄λμ λ μ μ νμ μΌλ‘ λ°κΏμ£Όλ μ λ μ’μ§λ§, 무μλ³΄λ€ μ’μ 건 μμ¦ μ λ§ μ¬λ―Έμκ² κ³΅λΆμ€μΈ κ°μ²΄μ§ν₯μ λ무 μ μ΄μΈλ¦°λ€λ μ μ΄λ€.(μ μ΄μ κ·Έλ° λμ¦μ λμ¨ κ²λ μκ² μ§λ§..!)
κΈ°μ΅ν΄λ ν€μλ
- Union type (|)
- Intersection type (&)
- assertion (as)μΌλ‘ νμ κ°μ νκΈ° κ·Έλ¦¬κ³ μ¬μ€ κ°λ₯νλ©΄ μ¬μ©νμ§ μμμΌ νλ€λ μ
- type alias
- discriminated Union typeμΌλ‘ Union type λΆκΈ°μ²λ¦¬νλ λ°©λ²
- enumμ΄ λ¬΄μμΈμ§, κ·Έλ¦¬κ³ κ°κΈμ μ΄λ©΄ enum보λ€λ κ·Έλ₯ Union type μ°κΈ°
- any, unknown, void, never κΈ°μ΅νκΈ°. μ΄μνκ² μ‘°κΈμ© ν·κ°λ¦Όβ¦ voidλ₯Ό μ μΈν 3κ°λ μ¬μ€μ μ§μ μ¬μ©νλ 건 μ§μνλ€!
π μμ½ λ° ν루 κ°λ¨ νκ³
μ€λμ νμ μ΄ λ§μ§λ§ λλ¦ κ°μ²΄μ§ν₯μ μΌλ‘ HTML parser ꡬνμ μμ±νλ€. κ°μ νμμΈ snoopμ΄ μ€ ν
μ€νΈ μΌμ΄μ€λ ν΄κ²° λͺ»νμ§λ§β¦γ
νμμμ μ€ν ꡬ쑰λ‘λ§ λ°μ΄ν° μ€μ²© μ²λ¦¬λ₯Ό ν΄μ£Όμλ€.
μ΄ λ, μμ νκ·Έκ° κ°μ μΈ΅μ(κ³κΈ?)λ‘ μ¬λ¬κ° μ£Όμ΄μ‘μ λ children nodeλ‘ μ²λ¦¬νλ λ°©λ²λ μκ°ν΄λ΄μΌκ² λ€. μ, κ·Έλ¦¬κ³ μ΄λ² parser ꡬνμ TDD(ν
μ€νΈ μ£Όλ κ°λ°)λ₯Ό μ‘°κΈμ΄λΌλ νλ΄λ΄λ©΄μ μ§νν΄λ³΄μλ€.
μμ£Ό κ°λ¨ν μ½λμ§λ§, jestλ₯Ό ν΅ν΄ κ°μ²΄(tokenizer, lexer, parser)λ€μ νλμ© ν
μ€νΈνλ©΄μ μ§ννλ€. λ, λ³Έ μ½λλ₯Ό μμ±νκΈ° μ μ ν
μ€νΈμ½λλΆν° μμ±νλ©΄μ μ§νν΄λ³΄μλ€. μμ§ν μμ§μ μ½λμ κ·λͺ¨κ°
μμ£Ό ν¬μ§ μμμ κ·Έ μμ€ν¨μ μ¨μ ν λλΌμ§ λͺ»νμ§λ§, μμΌλ‘ λλλ μμ£Ό ν
μ€νΈ μ½λλ₯Ό μμ±νλ©΄μ μ§νν μμ μ΄λ€. 무μλ³΄λ€ μ΄μ μ μ κΉ λ°°μ λ λ¨Έμ λ¬λ, λ₯λ¬λμ λ°©μκ³Ό κ΅μ₯ν μ μ¬ν λλμ΄λΌ μ κΈ°νλ€. inputκ³Ό outputμ
λ¨Όμ μ€λ€λ μ μ΄ λΉμ·νκ³ μ‘°κΈμ μ°¨μ΄(μ¬μ€ μμ£Ό ν° μ°¨μ΄)λΌλ©΄ μ΄νμ κ·Έ κ°μ λν λ‘μ§μ μ§μ μ§μΌνλ€λ κ²..! μ΄κ² κ°λ°μ μ¬λ―Έμ΄μ§ μμκΉ μΆλ€.
μ΄λ² μ£Ό ν€ ν¬μΈνΈλ κ°μ²΄μ§ν₯, νμ μ€ν¬λ¦½νΈ , ν μ€νΈμ½λλ‘ μμ½ν μ μμ κ² κ°λ€. :)
μ€λμ μν μ
- νμ ꡬν μλ£ν μ
- νμ μ€ν¬λ¦½νΈ κΏμΌ
- ν μ€νΈ μ½λ μμ±νλ©΄μ μ½λ μ§ μ
- μ€μ€λ‘ 곡λΆ, νμ΅μ λ°©ν₯μ΄ μ‘νκ°λ μ
μ€λμ μμ¬μ΄ μ
- λ―ΈλΌν΄λͺ¨λμ μ μ§ν€κ³ μλλ°, μλ μκ°μ μ’λ ν보νμ§ μμ μ !(μ μ΄ λ³΄μ½μ΄λ€!!!!!!)