0Pricing
TypeScript Academy · Ders

Parametre Dekoratörleri ve Üst Veriler

Parametre dekoratörlerini reflect-metadata ile kullanın

Parametre Dekoratörleri ve Üst Veriler, CoddyKit'te ücretsiz bir TypeScript Academy dersidir. Bu, 4 dersinin 3. 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

Bu derste TypeScript'te parametre dekoratörleri ve üst veri ele alınır.

Giriş

Dekoratörler, üst veri eklemek ve sınıfları ya da bunların üyelerini değiştirmek için kullanılan 3. aşama JavaScript önerisi ve deneysel bir TypeScript özelliğidir.

Temel Kavram

Dekoratör, @ söz dizimi kullanılarak bir sınıfa, yönteme, özelliğe veya parametreye uygulanan bir işlevdir.
@sealed
class BugReport {
  type = 'report';
  title: string;
  constructor(t: string) { this.title = t; }
}

Sınıf Dekoratörü

Sınıf dekoratörleri oluşturucu işlevini alır ve değiştirilmiş bir sürüm döndürebilir.
function sealed(constructor: Function) {
  Object.seal(constructor);
  Object.seal(constructor.prototype);
}

Yöntem Dekoratörü

Yöntem dekoratörleri hedefi, özellik adını ve özellik tanımlayıcısını alır.
function log(target: any, key: string, desc: PropertyDescriptor) {
  const orig = desc.value;
  desc.value = function(...args: any[]) {
    console.log('Calling', key);
    return orig.apply(this, args);
  };
}

Özellik Dekoratörü

Özellik dekoratörleri hedefi ve özellik anahtarını alır. Okuma/yazma işlemlerini doğrudan yakalayamazlar.
function readonly(target: any, key: string) {
  Object.defineProperty(target, key, { writable: false });
}

Parametre Dekoratörü

Parametre dekoratörleri hedefi, yöntem adını ve parametre dizinini alır.
function required(target: any, key: string, index: number) {
  const meta = Reflect.getMetadata('required', target, key) || [];
  meta.push(index);
  Reflect.defineMetadata('required', meta, target, key);
}

Dekoratör Fabrikaları

Dekoratör fabrikası, dekoratör döndüren bir işlevdir. Yapılandırma parametrelerini alır.
function role(name: string) {
  return function(target: any, key: string) {
    Reflect.defineMetadata('role', name, target, key);
  };
}

class UserController {
  @role('admin')
  deleteUser() {}
}

NestJS Dekoratörleri

NestJS, denetleyiciler, bağımlılık ekleme ve yönlendirme için dekoratörleri yoğun biçimde kullanır.
@Controller('users')
class UsersController {
  constructor(private usersService: UsersService) {}

  @Get()
  findAll(): User[] {
    return this.usersService.findAll();
  }
}

reflect-metadata

Dekoratörler, çalışma zamanında üst verileri depolamak ve almak için genellikle reflect-metadata çoklu dolgusuyla birlikte çalışır.
import 'reflect-metadata';
// Enable in tsconfig: experimentalDecorators: true, emitDecoratorMetadata: true

Dekoratör Sırası

Aynı bildirimdeki birden çok dekoratör aşağıdan yukarıya uygulanır (en son yazılan önce değerlendirilir).
@first
@second
class Example {}
// Applied: second first, then first

Hızlı Kontrol

Dekoratörleri kullanmak için hangi TypeScript yapılandırması gereklidir?

Özet

Dekoratörler sınıfları, yöntemleri, özellikleri ve parametreleri değiştirmek için @ söz dizimini kullanır. tsconfig içindeki experimentalDecorators ile etkinleştirilir ve NestJS ile Angular gibi çerçevelerde yaygın olarak kullanılır.

Sıkça Sorulan Sorular

“Parametre Dekoratörleri ve Üst Veriler” dersi ücretsiz mi?

Evet — “Parametre Dekoratörleri ve Üst Veriler” 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.

“Parametre Dekoratörleri ve Üst Veriler” dersinde ne öğreneceğim?

Parametre dekoratörlerini reflect-metadata ile 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 3. dersidir.

“Parametre Dekoratörleri ve Üst Veriler” 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. Sınıf Dekoratörleri: Davranışı Sarmalama
  2. Metot ve Özellik Dekoratörleri
  3. Parametre Dekoratörleri ve Üst Veriler
  4. Çerçevelerde Dekoratörler: NestJS Örneği
← TypeScript Academy Sayfasına Dön