Partial
构造一个类型,将Type的所有属性
设置为可选
。该实用程序将返回一个表示给定类型的所有子集的类型。
例子:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| interface Todo { title: string; description: string; }
// 用partial将接口Todo所有属性变成可选 function updateTodo(todo: Todo, fieldsToUpdate: Partial<Todo>) { return { ...todo, ...fieldsToUpdate }; }
const todo1 = { title: "organize desk", description: "clear clutter", };
// 虽然第二个参数没有给声明title属性,但不报错 const todo2 = updateTodo(todo1, { description: "throw out trash", });
|
Omit<Type, Keys>
通过从Type
中选取所有属性,然后删除属性Keys
来构造一个类型。
例子
1 2 3 4 5 6 7 8 9 10 11 12 13
| interface Todo { title: string; description: string; completed: boolean; }
// 类型TodoPreview等于接口Todo移除descprition属性的接口 type TodoPreview = Omit<Todo, "description">;
const todo: TodoPreview = { title: "Clean room", completed: false, };
|