0Pricing
TypeScript Academy · Ders

Arayüzlerle Nesne Yapılarını Tanımlama

Nesne yapısını açıklamak için interface kullanın

Arayüzlerle Nesne Yapılarını Tanımlama, CoddyKit'te ücretsiz bir TypeScript Academy dersidir. Bu, 4 dersinin 1. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, TypeScript Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. TypeScript Academy kursu toplamda 4 dersten oluşur.

Hoş Geldiniz

Arayüzler, TypeScript'te nesnelerin biçimini açıklar. Hangi özelliklerin bulunduğunu, türlerini ve isteğe bağlı ya da salt okunur olup olmadıklarını tanımlar.

Temel Arayüz

Bir arayüzü `interface` anahtar sözcüğünün ardından özellik adlarını ve türlerini yazarak tanımlayın.
interface User {
  id: number;
  name: string;
  email: string;
}
const alice: User = { id: 1, name: 'Alice', email: 'a@b.com' };

? ile İsteğe Bağlı Özellikler

Özellikleri `?` ile isteğe bağlı olarak işaretleyin. İsteğe bağlı bir özellik bulunabilir veya bulunmayabilir.
interface Config {
  host: string;
  port?: number;     // optional
  timeout?: number;  // optional
}

Salt Okunur Özellikler

Salt okunur özellikler bir kez (oluşturulurken) ayarlanabilir ancak daha sonra değiştirilemez.
interface Point {
  readonly x: number;
  readonly y: number;
}
const p: Point = { x: 5, y: 10 };
// p.x = 0; // Error!

Yöntem İmzaları

Arayüzler, işlev biçimini açıklayan yöntem imzalarını içerebilir.
interface Animal {
  name: string;
  speak(): string;
  move(distance: number): void;
}

Dizin İmzaları

Nesne belirli bir türde dinamik anahtarlara sahip olduğunda dizin imzası kullanın.
interface StringMap {
  [key: string]: string;
}
const headers: StringMap = {
  'content-type': 'application/json',
  'accept': 'text/html',
};

Yapısal Türleme

TypeScript yapısal türleme kullanır: Bir nesne, nasıl oluşturulduğundan bağımsız olarak gerekli özelliklere sahip olduğu sürece bir arayüzü karşılar.
interface Named { name: string; }
function greet(obj: Named) { console.log(obj.name); }
greet({ name: 'Alice', age: 30 }); // Extra props OK when not a literal

Fazla Özellik Denetimi

Bir nesne sabitinde arayüzde bulunmayan fazla özellikler olduğunda TypeScript hata bildirir. Buna fazla özellik denetimi denir.
interface Config { host: string; }
// const c: Config = { host: 'localhost', extra: 1 }; // Error on literal
const obj = { host: 'localhost', extra: 1 };
const c: Config = obj; // OK — not a fresh literal

İşlev Türleri için Arayüz

Arayüzler, çağrı imzasıyla çağrılabilir türleri açıklayabilir.
interface Greeter {
  (name: string): string;
}
const greet: Greeter = name => 'Hello, ' + name;

İç İçe Arayüzler

İç içe nesne biçimleri oluşturmak için özellikler diğer arayüzlere başvurabilir.
interface Address { street: string; city: string; }
interface Person { name: string; address: Address; }
const p: Person = { name: 'Alice', address: { street: '1 Main', city: 'NY' } };

Arayüz ve Sınıf Örneği

Arayüzler bir sınıfın herkese açık biçimini açıklar ancak çalışma zamanında silinir. Uygulamayı sınıf sağlar.
interface Saveable { save(): Promise<void>; }
class UserService implements Saveable {
  async save() { /* ... */ }
}

Hızlı Kontrol

TypeScript'te fazla bir özelliğe sahip nesne sabitini arayüz türüne atadığınızda ne olur?

Özet

Arayüzler, türleri belirlenmiş özellikler, isteğe bağlı/salt okunur niteleyiciler, yöntem imzaları ve dizin imzalarıyla nesne biçimlerini tanımlar. TypeScript yapısal türleme kullanır; bildirimin kendisi değil, biçim uyumluluğu önemlidir.

Sıkça Sorulan Sorular

“Arayüzlerle Nesne Yapılarını Tanımlama” dersi ücretsiz mi?

Evet — “Arayüzlerle Nesne Yapılarını Tanımlama” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve TypeScript Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. TypeScript Academy kursu toplamda 4 dersten oluşur.

“Arayüzlerle Nesne Yapılarını Tanımlama” dersinde ne öğreneceğim?

Nesne yapısını açıklamak için interface kullanın TypeScript Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

TypeScript Academy öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te TypeScript Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 1. dersidir.

“Arayüzlerle Nesne Yapılarını Tanımlama” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu TypeScript Academy dersinde kod yazıp çalıştırabilir miyim?

Evet. Her TypeScript Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. Arayüzlerle Nesne Yapılarını Tanımlama
  2. Karmaşık Türler için Tür Takma Adları
  3. Arayüz Genişletme ve Birleştirme
  4. Arayüz mü Tür mü: Hangisi Ne Zaman Kullanılır
← TypeScript Academy Sayfasına Dön