Geri

TypeScript Object Type (Nesne Tipleri)

TypeScript'in object type özelliği, nesnelerin yapısını ve alan türlerini belirleyerek daha sağlam ve okunabilir bir kod yazmamızı sağlar. Bu özellik sayesinde uygulamanın veri modelini net bir şekilde tanımlar, olası hataların önüne geçeriz.

Basit Bir Nesne Tipi Tanımı

let user: { name: string; age: number; isActive: boolean };
user = { name: "Jane", age: 28, isActive: true };

Bu örnekte `user` nesnesi belirli alanlara ve alan türlerine sahiptir. TypeScript, bu yapının dışına çıkılmasını engeller ve derleme sırasında hata verir.

İsteğe Bağlı (Optional) ve Okunabilirlik İçin Açıklamalı Alanlar

let product: {
  id: number;
  name: string;
  description?: string;
  inStock: boolean;
};
product = {
  id: 1,
  name: "Keyboard",
  inStock: true,
};

İsteğe bağlı alanlar (`?` operatörü ile tanımlanır), bazı verilerin eksik olabileceği durumlar için esneklik sağlar. Bu özellikle form verileri ve API yanıtları gibi durumlarda kullanışlıdır.

İç İçe (Nested) Object Tipleri

let order: {
  orderId: string;
  customer: {
    id: number;
    name: string;
  };
  total: number;
};
order = {
  orderId: "ORD123",
  customer: {
    id: 5,
    name: "Ahmet"
  },
  total: 250
};

Nesne tipleri iç içe tanımlanabilir. Bu sayede karmaşık veri yapıları kolayca modellenebilir. Her katman için ayrı ayrı tür kontrolü sağlanır.

Fonksiyon Parametresinde Object Type Kullanımı

function createUser(user: { name: string; email: string; role: "admin" | "user" }) {
  console.log(`Yeni kullanıcı: ${user.name} - Rolü: ${user.role}`);
}

Fonksiyon parametrelerinde nesne tipi kullanmak, dışarıdan gelen verilerin doğru yapıda olmasını zorunlu kılar. Bu da güvenli veri akışı sağlar.

Interface ile Object Tipi Tanımlamak

interface BlogPost {
  title: string;
  content: string;
  tags?: string[];
  author: {
    id: number;
    username: string;
  };
}

`interface`, tekrar tekrar kullanılabilir ve geliştirilebilir nesne tipleri tanımlamak için idealdir. Daha okunabilir ve sürdürülebilir kod sağlar.

Bir Fonksiyonda Interface Kullanımı

function printPost(post: BlogPost) {
  console.log(`${post.title} yazısını yazan: ${post.author.username}`);
}

Interface tanımlandıktan sonra fonksiyonlara veya bileşenlere veri geçişinde bu yapı doğrudan kullanılabilir. Böylece kodun hem güvenliği hem de anlamı artar.

Object Type ile Type Güvenliği Neden Önemlidir?

Object type kullanımı, TypeScript’in sunduğu tip güvenliği avantajlarından tam anlamıyla yararlanmanızı sağlar. Hatalı veya eksik veri kullanımını daha yazım anında yakalayarak uygulamanızın sağlamlığını artırır. Ayrıca ekip çalışmasında veri modellerini standartlaştırarak iletişimi kolaylaştırır.

Geri