0Pricing
TypeScript Academy · Ders

Dizilerde ve Nesnelerde Yayma

Doğru türleri koruyarak değerleri yayın.

Dizilerde ve Nesnelerde Yayma, 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.

Değerleri Yayma

Yayma işleci ..., bir dizinin öğelerini veya bir nesnenin özelliklerini yeni bir nesne ya da diziye kopyalar. TypeScript sonuç türünü kesin biçimde izler; bu da değişmez güncellemeler için önemlidir.

Dizi Yayma

Birleştirmek için iki diziyi yeni bir diziye yayın. Sonucun öğe türü, her iki kaynak öğe türünün birleşimidir.

const a = [1, 2]
const b = [3, 4]
const all = [...a, ...b]
console.log(all) // [1, 2, 3, 4]

Yaymaları ve Değişmezleri Birlikte Kullanma

Yayma öğelerini tek tek değerlerle dönüşümlü olarak kullanabilirsiniz. Sıra, yazıldığı hâliyle tam olarak korunur.

const middle = [2, 3]
const nums = [1, ...middle, 4]
console.log(nums) // [1, 2, 3, 4]

Yayma Öğe Türleri

Yayma kaynaklarının farklı öğe türleri olduğunda sonuç, bunların birleşiminden oluşan bir dizidir. Tür açıklaması ekleyin veya işi tür çıkarımına bırakın.

const ns: number[] = [1, 2]
const ss: string[] = ["a"]
const mixed = [...ns, ...ss] // (number | string)[]
console.log(mixed)

Nesne Yayma

Nesne yayma, kendi numaralandırılabilir özelliklerini yeni bir nesneye kopyalar. Sonuç türü, kaynak şekilleri birleştirir.

const base = { id: 1, name: "Ada" }
const extended = { ...base, active: true }
console.log(extended) // { id: 1, name: 'Ada', active: true }

Yaymayla Özellikleri Geçersiz Kılma

Anahtarlar çakıştığında son olan kazanır. Bir nesneyi yayın, ardından belirli alanları geçersiz kılın; değişmez güncellemelerin temeli budur.

const user = { name: "Ada", age: 36 }
const older = { ...user, age: 37 }
console.log(older.age) // 37

Kazananı Sıra Belirler

Özellik önceliği kaynakların sırasını izler. Kazanması için geçersiz kılmaları yaymadan sonra koyun; önce koyarsanız yayma bunların üzerine yazar.

const defaults = { theme: "light", size: "m" }
const result = { theme: "dark", ...defaults }
console.log(result.theme) // light — spread came last

Geçersiz Kılınan Bir Özelliğin Türü

Bir geçersiz kılma özelliğin türünü değiştirirse sonuç türü yeni türü yansıtır. TypeScript, en son görülen kullanıma göre türü daraltır.

const obj = { value: 1 as number }
const updated = { ...obj, value: "now a string" }
// updated.value is string
console.log(updated.value.toUpperCase())

Yayma Sığ Kopyadır

Yayma işlemi yalnızca bir seviye derinliğinde kopyalar. İç içe nesneler başvuru yoluyla paylaşılır; bu nedenle iç içe bir alanı değiştirmek her iki kopyayı da etkiler. Daha derin bir kopya için iç içe nesneyi de yayın.

const a = { nested: { x: 1 } }
const b = { ...a }
b.nested.x = 99
console.log(a.nested.x) // 99 — shared reference

Yayma ve salt okunur

readonly bir dizi veya nesne yayıldığında yeni ve değiştirilebilir bir kopya oluşturulur. Yeni bir değer oluşturduğunuz için readonly değiştiricisi yayma işlemine aktarılmaz.

const frozen: readonly number[] = [1, 2, 3]
const copy = [...frozen] // number[], mutable
copy.push(4)
console.log(copy.length) // 4

Değişmez Güncelleme Deseni

Yayma, durumu değiştirme yapmadan güncellemenin deyimsel yoludur: eski nesneyi kopyalayın, değişen alanların üzerine yazın ve yeni nesneyi döndürün.

interface State { count: number; name: string }
function increment(s: State): State {
  return { ...s, count: s.count + 1 }
}
console.log(increment({ count: 1, name: "x" }))

Hızlı Kontrol

Yayma türleri ve öncelik kurallarını ne kadar anladığınızı sınayın.

Özet

Yayma, dizi öğelerini veya nesne özelliklerini yeni bir değere kopyalar. Dizi yayma işlemi, birleşim öğesi türüyle birleştirme yapar; nesne yayma işlemi yapıları birleştirir ve key çakışmalarında son görülen değer kazanır. Yayma sığ bir kopyadır; iç içe nesneler paylaşılmaya devam eder ve readonly kaynaklardan bile yeni, değiştirilebilir değerler üretir. Bu, değişmez güncelleme için kullanılan deyimsel desendir.

Sıkça Sorulan Sorular

“Dizilerde ve Nesnelerde Yayma” dersi ücretsiz mi?

Evet — “Dizilerde ve Nesnelerde Yayma” 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.

“Dizilerde ve Nesnelerde Yayma” dersinde ne öğreneceğim?

Doğru türleri koruyarak değerleri yayı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.

“Dizilerde ve Nesnelerde Yayma” 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. İşlevlerde Rest Parametreleri
  2. Dizilerde ve Nesnelerde Yayma
  3. Demet Rest Ögeleri
  4. Değişken Sayıda Bağımsız Değişken Alan İşlevlerin Türünü Belirleme
← TypeScript Academy Sayfasına Dön