μ΄μ , `createElement` μ μμ λλ¨Έμ§ λΆλΆμΈ `(tagName: K, options?: ElementCreationOptions): HTMLElementTagNameMap[K]`λ₯Ό μ΄ν΄λ³΄κ² μ΅λλ€. 첫 λ²μ§Έ μΈμ `tagName`μ μ λ€λ¦ λ§€κ°λ³μ `K`λ‘ μ μλ©λλ€. TypeScript μΈν°ν리ν°λ μ΄ μΈμλ‘λΆν° μ λ€λ¦ λ§€κ°λ³μλ₯Ό _μΆλ‘ _ ν μ μλ μΆ©λΆν μ±λ₯μ κ°μ§κ³ μμ΅λλ€. μ΄λ κ°λ°μκ° λ©μλλ₯Ό μ¬μ©ν λ μ€μ λ‘ μ λ€λ¦ λ§€κ°λ³μλ₯Ό μ§μ ν νμκ° μμμ μλ―Ένλ©°, μ΄λ€ κ°μ΄ `tagName`μΈμλ‘ μ λ¬λλ κ°μ `K`λ‘ μΆλ‘ λλ―λ‘ μ μμ λλ¨Έμ§ λΆλΆμ μ¬μ©ν μ μμ κ²μ
λλ€. μ νν λ¬΄μ¨ μΌμ΄ μΌμ΄λλμ§λ₯Ό 보면 λ°νκ° `HTMLElementTagNameMap[K]`λ `tagName`μΈμλ₯Ό κ°μ§κ³ ν΄λΉ νμ
μ λ°νν©λλ€. μ΄ μ μλ μ€λν« μ½λ `p` λ³μμμ `HTMLParagraphElement`νμ
μ μ»λ λ°©λ²μ
λλ€. κ·Έλ¦¬κ³ μ½λκ° `document.createElement('a')`μλ€λ©΄, `HTMLAnchorElement`νμ
μ μμκ° λ©λλ€.
0 commit comments