0Pricing
TypeScript Academy · Ders

TypeScript 5.1-5.2: Geliştirilmiş Çıkarım

Setter/getter tür bağımsızlığını ve using bildirimlerini keşfedin

TypeScript 5.1-5.2: Geliştirilmiş Çıkarım, 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.

TypeScript 5.1 Genel Bakışı

TypeScript 5.1 (Haziran 2023'te yayımlandı), ayarlayıcı ve alıcı türlerinin bağımsızlığını, JSX öğe türü esnekliğini, düzenleyicilerde bağlantılı imleçleri ve performans iyileştirmelerini geliştirdi.

// npm install typescript@5.1

Ayarlayıcı/Alıcı Tür Bağımsızlığı

5.1'den önce ayarlayıcı ve alıcının aynı türü kullanması gerekiyordu. Artık alıcı, ayarlayıcının kabul ettiği türden daha geniş bir tür döndürebilir — bu, tür dönüştürme kalıpları için kullanışlıdır.

class Temperature {
  get celsius(): string { return this._c + "°C"; } // string
  set celsius(value: string | number) {             // string | number
    this._c = Number(value);
  }
  private _c = 0;
}

JSX Alt Öğeleri Olarak tanımsız

TS 5.1, bileşenlerin işleme işlevlerinden doğrudan undefined döndürmesine (null'a ek olarak) izin verir; bu, React 18 davranışıyla uyumludur.

// TS 5.1+: OK
function Widget(): undefined { return undefined; }
// Before 5.1: had to return null or JSX element

JSX Öğe Türünde Esneklik

Yeni JSX.ElementType kısıtlaması, özel JSX fabrikaları için daha fazla esneklik sağlar ve React dışı ortamlar için kullanışlıdır.

// Custom JSX element types supported more naturally in 5.1

TypeScript 5.2'ye Genel Bakış

TypeScript 5.2 (Ağustos 2023'te yayımlandı), using bildirimlerini (Açık Kaynak Yönetimi), dekoratör meta verilerini ve dizi kopyalama yöntemlerini kullanıma sundu.

// npm install typescript@5.2

Kaynak Yönetimi Bildirimleri

using, Açık Kaynak Yönetimi önerisini uygular; kaynak kapsam dışına çıktığında kaynağın [Symbol.dispose]() yöntemi çağrılır.

// Requires lib: ["es2022", "esnext.disposable"]
function getConnection(): Disposable {
  const conn = openDb();
  return { [Symbol.dispose]() { conn.close(); } };
}

{
  using conn = getConnection();
  // conn.close() called automatically at block end
}

Eşzamansız Kaynak Temizleme için Beklemeli Kullanım

await using, using gibi çalışır; ancak eşzamansız bir [Symbol.asyncDispose]() yöntemi çağırarak eşzamansız temizlemeyi mümkün kılar.

async function run() {
  await using db = await connectDb();
  // db[Symbol.asyncDispose]() called on exit
}

Dekoratör Meta Verileri

TS 5.2, TC39 dekoratör meta verisi önerisini uygular ve dekoratörlerin Symbol.metadata aracılığıyla meta veri eklemesine olanak tanır.

function meta(value: string) {
  return (_: unknown, ctx: DecoratorContext) => {
    ctx.metadata[ctx.name] = value;
  };
}

@meta("service")
class MyService {}
console.log((MyService as any)[Symbol.metadata]); // { "MyService": "service" }

Dizi Kopyalama Yöntemleri

TS 5.2, ES2023'teki değişmez dizi işlemleri olan Array.prototype.toSorted, toReversed, toSpliced ve with için türler ekledi.

const arr = [3, 1, 2];
const sorted = arr.toSorted(); // [1, 2, 3] — new array, arr unchanged
const reversed = arr.toReversed(); // [2, 1, 3]

5.2 için tsconfig'te using Kullanımı

using bildirimlerini kullanmak için tsconfig dosyanıza esnext.disposable kitaplığını ekleyin.

{
  "compilerOptions": {
    "target": "ES2022",
    "lib": ["ES2022", "ESNext.Disposable"]
  }
}

Özet: TS 5.1-5.2

TS 5.1: bağımsız alıcı/ayarlayıcı türleri ve tanımsız JSX döndürmeleri. TS 5.2: otomatik kaynak temizleme için using bildirimleri, dekoratör meta verileri ve değişmez dizi kopyalama yöntemlerinin türleri.

Hızlı Kontrol

TypeScript 5.2'de using bildirimi ne yapar?

Öğrendikleriniz

TS 5.1, bağımsız alıcı/ayarlayıcı türlerini ve tanımsız JSX döndürmelerini getirdi. TS 5.2 ise otomatik kaynak yönetimi için using bildirimlerini, dekoratör meta verilerini ve ES2023 değişmez dizi yöntemlerinin türlerini sundu.

Sıkça Sorulan Sorular

“TypeScript 5.1-5.2: Geliştirilmiş Çıkarım” dersi ücretsiz mi?

Evet — “TypeScript 5.1-5.2: Geliştirilmiş Çıkarım” 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.

“TypeScript 5.1-5.2: Geliştirilmiş Çıkarım” dersinde ne öğreneceğim?

Setter/getter tür bağımsızlığını ve using bildirimlerini keşfedin 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.

“TypeScript 5.1-5.2: Geliştirilmiş Çıkarım” 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. TypeScript 5.0: Dekoratör Standardı ve const Tür Parametreleri
  2. TypeScript 5.1-5.2: Geliştirilmiş Çıkarım
  3. TypeScript 5.3-5.4: Yeni Daraltma ve NoInfer
  4. TypeScript 5.5+: Yalıtılmış Bildirimler ve Ötesi
← TypeScript Academy Sayfasına Dön