0Pricing
TypeScript Academy · Ders

Effect Türü

Effect yapısını anlayın.

Effect Türü, CoddyKit'te ücretsiz bir TypeScript Academy dersidir. Bu, 4 dersinin 2. 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.

Effect Türü

Temel tür Effect<Success, Error, Requirements> türüdür. Bu üç tür parametresi, bir hesaplamanın yapabileceği her şeyi açıklar: ne ürettiğini, nasıl başarısız olabileceğini ve neye gereksinim duyduğunu.

import { Effect } from "effect";
// Effect<A, E, R>
//   A = success value type
//   E = error type
//   R = required services (dependencies)

Başarı Kanalı (A)

İlk parametre, başarı durumunda üretilen değerdir. Effect.succeed, hiçbir hata ve gereksinim olmadan her zaman bir değer üreten bir etki oluşturur.

import { Effect } from "effect";

const ok = Effect.succeed(42);
// Effect<number, never, never>

Hata Kanalı (E)

İkinci parametre, türü belirtilmiş hatadır. never, etkinin başarısız olamayacağı anlamına gelir. Gerçek bir hata türü, çağıranların bu hatayı hesaba katması gerektiği anlamına gelir.

import { Effect } from "effect";

class NotFound { readonly _tag = "NotFound"; }
const failing = Effect.fail(new NotFound());
// Effect<never, NotFound, never>

Gereksinim Kanalı (R)

Üçüncü parametre, etkinin bağımlı olduğu hizmetleri listeler. never, etkinin kendi kendine yeterli olduğu anlamına gelir; aksi durumda bu hizmetler sağlanana kadar çalışamaz.

// Conceptually:
// Effect<User, NotFound, Database>
// produces a User, may fail with NotFound, needs a Database

Bir İmzayı Okuma

Bir etki türünü bir cümle gibi okuyabilirsiniz: “R sağlandığında A üretir veya E ile başarısız olur.” Bu tek tür, bir Promise'i, örtük fırlatmaları ve gizli genel değişkenleri birlikte kullanmanın yerini alır.

Özdeş Birim Olarak never

never, E ve R kanalları için etkisiz değerdir: olası hata yoktur, gerekli bağımlılık yoktur. Birleştirme yaptıkça hata ve gereksinim türleri birleşim türleri olarak birikir.

Değerlerden Effect Oluşturma

Yaygın oluşturucular: succeed (saf değer), fail (türü belirtilmiş hata) ve sync (eşzamanlı bir yan etkiyi sarar).

import { Effect } from "effect";

const now = Effect.sync(() => Date.now());
// Effect<number, never, never>

Eşzamansız İşi Sarmalama

Effect.promise ve Effect.tryPromise, vaatleri etkilere dönüştürür; tryPromise, reddedilmeyi E kanalında türü belirtilmiş bir hataya eşlemenizi sağlar.

import { Effect } from "effect";

const fetchUser = Effect.tryPromise({
  try: () => fetch("/user").then((r) => r.json()),
  catch: (e) => new Error("fetch failed: " + String(e)),
});
// Effect<any, Error, never>

Kanallar İçin Tür Takma Adları

Hizmetler için Effect, tam ad olarak Effect.Effect<A, E, R> sunar. Kanallar birbirinden bağımsızdır: gereksinim olmadan hatalara veya hata olmadan gereksinimlere sahip olabilirsiniz.

Neden Üç Kanal Var

Üç kanal, kodun akıl yürütülmesini zorlaştıran üç şeyi yakalar: sonuç, başarısızlık biçimleri ve kodun çalıştığı bağlam. Bu üçünü tek bir türde görünür kılmak, Effect'in güvenlik güvencelerini sağlar.

Bu Neden Önemli

Effect<A, E, R> türünü anlamak, diğer her şeyin anahtarıdır: birleştirme bu kanalları birleştirir, hata işleme E'yi daraltır ve bağımlılıkları sağlamak R'yi ortadan kaldırır. Türü okuyarak bir hesaplamanın tam olarak ne yaptığını bilirsiniz.

Hızlı Kontrol

Effect türünü ne kadar anladığınızı doğrulayın.

Özet

Effect<A, E, R>, başarı değerini, türü belirtilmiş hatayı ve gerekli bağımlılıkları tek bir türde kodlar. never, E ve R için etkisiz değerdir. succeed, fail, sync ve tryPromise gibi oluşturucular, uygun kanallara sahip etkiler oluşturur.

Sıkça Sorulan Sorular

“Effect Türü” dersi ücretsiz mi?

Evet — “Effect Türü” 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.

“Effect Türü” dersinde ne öğreneceğim?

Effect yapısını anlayı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 2. dersidir.

“Effect Türü” 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. Etki Sistemleri Neden Önemlidir?
  2. Effect Türü
  3. Etkileri Birleştirme
  4. Hata Kanalları ve Bağımlılıklar
← TypeScript Academy Sayfasına Dön