[TypeScript] λ§΅λ νμ (Mapped Type)
π λ§΅λ νμ (Mapped Type)
λ§΅λ νμ μ κΈ°μ‘΄μ μ μλμ΄ μλ νμ μ μλ‘μ΄ νμ μΌλ‘ λ³νν΄ μ£Όλ λ¬Έλ²μ λλ€.
μλ°μ€ν¬λ¦½νΈ map()
API ν¨μλ₯Ό νμ
μ μ μ©ν κ²κ³Ό κ°μ ν¨κ³Όλ₯Ό κ°μ§λλ€.
π λ§΅λ νμ κΈ°λ³Έ λ¬Έλ²
{ [ P in K ] : T }
{ [ P in K ] ? : T }
{ readonly [ P in K ] : T }
{ readonly [ P in K ] ? : T }
π λ§΅λ νμ μμ
Heroes
λHulk
,Capt
,Thor
λΌλ ν€λ₯Ό μ λμ¨ νμ μΌλ‘ κ°μ§λ€.HeroAges
μHeroes
μ ν€μ νμ μnumber
λ‘ λ°κΎΈλ λ§΅λ νμ λ¬Έλ²μ μ μ©νλ€.- μμ
ages
λ ν€κ°μ΄number
μΈHeroAges
λ₯Ό νμ μΌλ‘ κ°μ§λ€.
type Heroes = "Hulk" | "Capt" | "Thor";
type HeroAges = { [K in Heroes]: number };
const ages: HeroAges = {
Hulk: 33,
Capt: 100,
Thor: 1000,
};
π¬ μ΅μ λκΈ