keyof, typeof

keyof

keyof, oluşturduğumuz tip objelerinde ki keyler ile yeni tipler oluşturmamıza olanak sağlar. Örneğin aşağıdaki gibi interface ile tip tanımlaması yapmış olalım.

interface Person {
    name: string
    age: number
    location: string
}

Ardından keyof ile yeni bir tip oluşturalım.

type SomeNewType = keyof Person

Oluşturduğumuz tip karşılığı aşağıdaki gibidir.

type SomeNewType: "name" | "age" | "location"

typeof

Oluşturduğumuz objelerin value tiplerini elde etmemizi sağlar. Örneğin aşağıdaki gibi obje oluşturalım.

const bmw = { name: "BMW", power: "1000hp" }

Ardından typeof bmw ile yeni bir tip ataması yapalım.

type Car = typeof bmw;

Yukarıda ki Car tip objesinin karşılığı aşağıdaki gibidir.

type Car = {
    name: string;
    power: string;
}

Last updated