ECMAScript 6 – Spread Operator

Merhaba,

Yazılım algoritmalarında, yapısal olarak bazen ekstrem durumlarda kodumuzu inşa etmek isteyebiliriz. Tabi bu durumlar kullandığımız yazılım dilininde destekleyeceği biçimde, syntax yapısına uygun olacak şekilde sınırlı kalmak durumundadır. Peki nedir bu durumlar? diye sorarsanız eğer bir fonksiyona sınırsız parametre göndermek yahut bir dizi içerisindeki tüm elemanları tek seferde elde etmek durumlarını örnek olarak verebiliriz. Zaten bu örnekler bu konumuzun esas içeriğini teşkil edecek senaryolarıda ifade etmektedirler. ECMAScript 6 ile gelen Spread Operator özelliği, fonksiyonlara sınırsız parametre göndermemizi sağlamakta ve bu özelliğin dışında bir dizi içerisindeki tüm elemanları tek seferde elde etmemizi sağlamaktadır.

Spread Operator “…” şeklinde üç noktadan oluşan bir operatördür 🙂

Evet… Bu güne kadar soru işaretidir, kesme işaretidir, diestir, alt tiredir vs. bu tarz karakterdeki operatörlere alışmışlar için çelimsiz ve alışılagelmişin dışında bir yapıya sahip olabilir. Ama oldukça etkili ve boyundan büyük işler başaran bir operatördür.

Fonksiyonlara Sınırsız Parametre Özelliği

function myFunction(...a) {
    for (const s of a)
        console.log(s);
}
myFunction(1, 3, 5, 6, 7, 8);

Yukarıdaki kod bloğunu incelerseniz eğer “myFunction” fonksiyonunda ki “a” parametresinin başına Spread operatörü koyulmuştur. Dolayısıyla bu şekilde fonksiyon sınırsız parametre alabilecek bir özellik kazanmış olmaktadır.

Dizi Elemanlarını Tek Seferde Elde Etme

let sayilar = [1, 3, 5];
console.log(...sayilar);

Yukarıda gördüğünüz gibi elimizdeki herhangi bir dizi içerisindeki elemanları tek seferde elde etmek ya da bir başka deyişle yazdırmak için Spread operatörü kullanılmaktadır.

İşte dizilerdeki bu Spread özelliği oldukça farklı noktalarda bizlere pratiksel katkılar sağlamaktadır.
Örneğin;

let sayilar = [1, 3, 5];
let sayilar2 = [11, 23, ...sayilar, 453];
console.log(...sayilar2);

yukarıdaki kullanım tarzında ise bir dizideki elemanlar bir başka dizi içerisine Spread operatörü ile istenilen indexten itibaren aktarılabilmektedir.

Bir başka örnek;

function myFunction(a, b, c, d, e, f) {
    console.log(a, b, c, d, e, f);
}
let sayilar = [7, 9, 11];
myFunction(1, 3, 5, ...sayilar);

yukarıdaki kullanımda ise “myFunction” fonksiyonuna gönderilen parametrelere değerlerin bir kısmı Spread operatörü ile “sayilar” dizisindeki değerlerden verilmektedir.

Yazımızı sonlandırmadan önce Spread operatörünün fonksiyonlara sağladığı sınırsız parametre özelliği ile dizilerin elemanlarını tek seferde yazdırma özelliğini birleştiren bir örnek vermek kanımca bütünleyici olacaktır.

function myFunction(...x) {
    console.log(...x);
}
let array = [1, 3, 5, 6, 7, 8, 45, 3, 324];
myFunction(...array);

Bu örneğimizde dikkat ederseniz eğer üç farklı noktada Spread operatörü kullanılmıştır. Biri; fonksiyonun sınırsız parametre alabilmesi için, bir diğeri dizi şeklinde gelen “x” parametresindeki değerleri tek seferde yazdırabilmek için ve sonuncusu ise “myFunction” fonksiyonuna gönderilecek parametrelerin “array” dizisinden tek seferde elde edilip gönderilebilmesi için…

ECMAScript 6 ile gelen Spread Operator özelliği benim şimdiye kadar en beğendiğim niteliği barındıran özellik olduğunu itiraf edebilirim.

Faydalanmanız dileğiyle…

Sonraki yazılarımda görüşmek üzere…
İyi çalışmalar dilerim…

Bunlar da hoşunuza gidebilir...

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

*

Copy Protected by Chetan's WP-Copyprotect.