在Typescript中,映射類型(Mapped Types)是一種特殊的類型,它允許我們根據現有的類型來創建新的類型。通過映射類型,我們可以在類型級別上修改現有類型的屬性,例如將屬性變為只讀、可選或者去掉某些屬性等。
以下是一些常見的映射類型:
type Person = {
name: string;
age: number;
};
type ReadonlyPerson = Readonly<Person>;
// {readonly name: string; readonly age: number;}
type PartialPerson = Partial<Person>;
// {name?: string; age?: number;}
type RequiredPerson = Required<Person>;
// {name: string; age: number;}
type NameOnly = Pick<Person, 'name'>;
// {name: string;}
type PersonRecord = Record<'name' | 'age', string>;
// {name: string; age: string;}
映射類型使得我們可以更加靈活地操作現有的類型,從而簡化代碼并增強類型的安全性。通過合理地運用映射類型,我們可以有效地提高代碼的可維護性和可讀性。