Reflect-metadata
Last updated
Last updated
TypeScript(or JS)μμ λ°μ½λ μ΄ν°λ₯Ό νμ©νμ¬ λ©νλ°μ΄ν°λ₯Ό κ΄λ¦¬νκΈ° μν΄ μ¬μ©λλ λΌμ΄λΈλ¬λ¦¬
μλ°μ€ν¬λ¦½νΈμ κ°μ²΄λ₯Ό μ΄μ©νμ¬ ν΄λμ€ λλ ν¨μμ λ©νλ°μ΄ν°λ₯Ό μΆκ°νκ±°λ μμ ν μ μκ² ν΄μ€
λ°μ½λ μ΄ν°λ₯Ό μΆκ°νμ¬ λ°νμ λ μ½λμ λμμ μμ νλκ²
ES6μμ λμ λ λ΄μ₯ κ°μ²΄
리νλ μ μ μ½λκ° μ€νλλ λμ μ€μ€λ‘ κ²μ¬νκ³ μμ ν μ μλ κΈ°λ₯
μλ°μ€ν¬λ¦½νΈμμ λ©ννλ‘κ·Έλλ°μ ν λ μ¬μ© λλ€.
key: value ꡬ쑰μ λ©νλ°μ΄ν° μΆκ°
metadataKeyμ μλ³λλ―λ‘ μνλ λ§νΌ λ©νλ°μ΄ν°λ₯Ό μΆκ°ν μ μλ€.
λμμ νΉμ λ©νλ°μ΄ν° ν€μ μλ³λλ λ©νλ°μ΄ν° κ° μΆμΆ
ν¨μ λλ ν΄λμ€ μ μΈμ΄λ ν΄λμ€ λ©€λ² μμ μΆκ°νλ μ£ΌμμΌλ‘, ν΄λΉ κ°μ²΄μ λμ λ°©μμ λ³κ²½νλ ν¨μ
λλκ²λ TSμλ§ μλ κΈ°λ₯μ΄ μλ λ€μ΄ν°λΈν JS κΈ°λ₯(νμ€ν X)μ΄λΌκ³ νλ€.
@
μ λμ¬λ₯Ό μ¬μ©νλ μλ°μ€ν¬λ¦½νΈ ν¨μ, μ λ¬λ°μ μΈμ(ν΄λμ€, ν¨μ)μ λμμ μμ νμ¬ λ°ννλ€.
μ¦, ν΄λμ€λ ν¨μ μμ λ°°μΉνλ©΄ λ°νμλ ν΄λΉ ν¨μ, ν΄λμ€λ₯Ό μΈμλ‘ μ¬μ©νμ¬ νΈμΆλκ³ μ λ¬λ°μ ν¨μ,ν΄λμ€μ λμμ μμ νμ¬ λ°ννλ€.
TSμμ λ°μ½λ μ΄ν° κΈ°λ₯μ μ¬μ©νλ €λ©΄ tsconfig.json
λ°μ½λ μ΄ν° κ΄λ ¨ μ΅μ
μ λ€μκ³Ό κ°μ΄ μΆκ°ν΄μ£Όμ΄μΌ νλ€.
Reflect.metadata()λ decorator(@)λ₯Ό λ§λλ λ©μλ
λ΄λΆμ μΌλ‘ λ°μ½λ μ΄μ νλ κ°μ²΄μ λ©νλ°μ΄ν°λ₯Ό μΆκ°νλ
Reflect.defineMetadata
λ₯Ό ꡬννλ€
ν¨μλ‘ λ§λ€μ΄μ μ¬μ©