Omit, belirttiğimiz özelliği veya özellikleri içermeyen benzer başka bir nesne tanımlaması yapmak istediğimizde kullanılır.
Aşağıdaki örnekte “Todo” nesnesi için özellik tanımlaması yaptık.
interface Todo {
title: string;
description: string;
completed: boolean;
createdAt: number;
}
Başka bir nesne için de benzer özellikleri kullanmak istiyorsak ama “completed” özelliğini dahil etmek istemiyorsak bu durumda omit kullanabiliriz.
type TodoPreview = Omit<Todo, "completed">;
Burada içinde “completed” özelliği olmayan bir “TodoPreview” türü tanımlamış olduk.
const todo: TodoPreview = {
title: "Clean room",
completed: false,
createdAt: 1615544252770,
};
İstersek birden fazla özelliği de hariç bırakabiliriz.
type TodoInfo = Omit<Todo, "completed" | "createdAt">;
const todoInfo: TodoInfo = {
title: "Pick up kids",
description: "Kindergarten closes at 5pm",
};
https://www.typescriptlang.org/docs/handbook/utility-types.html#omittype-keys