Menu
Coddy logo textTech

Spread Operatörü Bölüm 1

Coddy'nin JavaScript Journey'sinin Mantık ve Akış bölümünün bir parçası — ders 18 / 65.

Spread operatörü (...) JSON için birçok kullanım alanına sahiptir. Örneğin, aşağıdaki işlemi yaparken:

const obj1 = {key1: "123"}
const obj2 = obj1
obj1.key1 = "456
console.log(obj2.key1)

Çıktı ne olur?

console.log(obj2.key1)
// Çıktı: "456"

Bu şaşırtıcı olabilir! Sadece obj1'i değiştirmiş olmamıza rağmen, obj2 de değişti.

Bu durum, nesneleri doğrudan atadığımızda (obj2 = obj1), bir kopya değil, bir referans oluşturduğumuz için gerçekleşir. Her iki değişken de bellekteki aynı nesneyi işaret eder.

Spread operatörünün kullanışlı hale geldiği yer burasıdır. Gerçek bir kopyanın nasıl oluşturulacağını görelim:

const obj1 = {key1: "123"};
const obj2 = {...obj1};
obj1.key1 = "456";
console.log(obj2.key1);
// Çıktı: "123"

Spread operatörü yeni bir nesne oluşturur ve kaynak nesnedeki tüm sayılabilir özellikleri yeni nesneye kopyalar.

quiz iconKendini test et

Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.

quiz iconKendini test et

Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.

Kopya kağıdı

Yayılma operatörü (...), bir referans yerine bir nesnenin kopyasını oluşturur:

// Referans (her iki değişken de aynı nesneye işaret eder)
const obj1 = {key1: "123"}
const obj2 = obj1
obj1.key1 = "456"
console.log(obj2.key1) // Çıktı: "456"
// Yayılma operatörü kullanarak kopyalama
const obj1 = {key1: "123"}
const obj2 = {...obj1}
obj1.key1 = "456"
console.log(obj2.key1) // Çıktı: "123"

Yayılma operatörü, kaynak nesnedeki tüm numaralandırılabilir özellikleri yeni bir nesneye kopyalar.

Kendin dene

Bu ders bir kod alıştırması içermiyor.

quiz iconKendini test et

Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.

Mantık ve Akış bölümündeki tüm dersler