TypeScript 對映型別
在實際應用中,可能需要將現有型別轉換為可選,看如下程式碼例項:
[typescript] 純文字檢視 複製程式碼interface Person { name: string; age: number; location: string; }
將上面的介面型別中的屬性轉換為可選,程式碼如下:
[typescript] 純文字檢視 複製程式碼interface PartialPerson { name?: string; age?: number; location?: string; }
對映型別轉換可以使用如下方式:
[typescript] 純文字檢視 複製程式碼type Partial<T> = { [P in keyof T]?: T[P]; }; type PartialPerson = Partial<Person>;
特別說明:Partial已經在TypeScript內建,還有一個常用的內建Readonly<T>,程式碼如下:
[typescript] 純文字檢視 複製程式碼interface Person { name: string; age: number; location: string; } type ReadonlyPerson = Readonly<Person>;
再來看一段非內建的,程式碼例項如下:
[typescript] 純文字檢視 複製程式碼interface Person { name: string; age: number; location: string; } let person:Person={ name: "螞蟻部落", age: 4, location: "青島市南區" } // 從T中選取一組屬性K declare function pick<T, K extends keyof T>(obj: T, ...keys: K[]): Pick<T, K>; const nameAndAgeOnly = pick(person, "name", "age"); // { name: string, age: number }
相關文章
- TypeScript 之對映型別TypeScript型別
- 搞懂 TypeScript 中的對映型別(Mapped Types)TypeScript型別APP
- TypeScript 官方手冊翻譯計劃【十】:型別操控-對映型別TypeScript型別
- Guru of the week:#17 型別對映. (轉)型別
- TypeScript this型別TypeScript型別
- EF:自定義Oracle的對映型別Oracle型別
- TypeScript 泛型型別TypeScript泛型型別
- 如何使用Java泛型對映不同的值型別Java泛型型別
- elasticsearch的object型別和動態對映ElasticsearchObject型別
- EF:oracle的number型別對映為C#的boolean型別Oracle型別C#Boolean
- TypeScript 型別相容TypeScript型別
- TypeScript 交叉型別TypeScript型別
- Typescript:基本型別TypeScript型別
- TypeScript 字串型別TypeScript字串型別
- TypeScript Never型別TypeScript型別
- TypeScript Any型別TypeScript型別
- TypeScript 索引型別TypeScript索引型別
- TypeScript 型別安全TypeScript型別
- TypeScript type 型別別名TypeScript型別
- Redis - 資料型別對映底層結構Redis資料型別
- Sybase datetime型別對映為Oracle timestamp型別Oracle
- Hibernate 對映xml中的屬性型別XML型別
- TypeScript 型別系統TypeScript型別
- Typescript高階型別TypeScript型別
- TypeScript 聯合型別TypeScript型別
- TypeScript 型別保護TypeScript型別
- TypeScript 型別推斷TypeScript型別
- TypeScript 型別斷言TypeScript型別
- TypeScript void 型別TypeScript型別
- TypeScript 陣列型別TypeScript陣列型別
- TypeScript 函式型別TypeScript函式型別
- TypeScript 數值型別TypeScript型別
- TypeScript 布林型別TypeScript型別
- TypeScript Widened型別TypeScriptIDE型別
- TypeScript 元組型別TypeScript型別
- TypeScript 字面量型別TypeScript型別
- TypeScript資料型別TypeScript資料型別
- [Hibernate求助]如何構造自己的對映型別?型別