TypeScript Notları
  • Giriş
  • Handbook
    • TypeScript nedir, ne işe yarar ?
    • Kurulum ve tsc
    • Temel Tipler
    • any ve unknown
    • Union Type (Çoklu Tipler)
    • Literal Types
    • Objects (Objeler)
    • Arrays (Diziler)
    • Tuple
    • Fonksiyonlar
    • Optional Params (Opsiyonel Parametreler)
    • type
    • interface
    • readonly
    • Generics
    • Modül Yapısı
    • Type Assertion
    • keyof, typeof
    • Mapped Types
    • React ve TypeScript
      • Props Tipleri
      • State Tipleri
      • Event Tipleri
      • useRef
  • Tip and Tricks
    • json2ts
  • Kaynakça
Powered by GitBook
On this page
  • keyof
  • typeof
  1. Handbook

keyof, typeof

PreviousType AssertionNextMapped Types

Last updated 3 years ago

keyof

keyof, oluşturduğumuz tip objelerinde ki keyler ile yeni tipler oluşturmamıza olanak sağlar. Örneğin aşağıdaki gibi 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;
}

keyof ve typeof u birlikte kullanabiliriz. Örneğin yukarıdaki örneğimizde ki gibi bmw objemizi oluşturalım.

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

Ardından keyof ve typeof u birlikte kullanarak yeni bir tip objesi oluşturalım.

type CarLiteralType = keyof typeof bmw;

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

type CarLiteralType = "name" | "power";

interface