Tekrar başlayan JavaScript Öğrenme Sürecim

Burak Karaben
1 min readJul 14, 2023

1 yıl gibi bir aradan sonra geçen yıl yarım bıraktığım işi tamamına erdirmek ve nihayetinde bir JS’çi olabilmek adına çalışmaya başladım. Bu gece yazmamın sebebi az önce Jonas Schmedthman’ın bir dersini tekrar etme motivasyonu olacak. 11 numaralı Working With Arrays başlıklı ders grubunun içindeki ilk derste birtakım metodlar anlatılırken unutmamam gereken şeyler olduğunu farkettim. Nedir bunlar?

Öncelikle ders boyu anlatılan metodlar şunlardı: slice(), splice(), reverse(), concat() ve join (). Bunlardan başka slice ve concat yerine de zaman zaman kullanabildiğimiz spread operator’e de değinmiş olduk. Soruya tekrar dönecek olursam, bu metodlarla ilgili bilmem gereken şey ne? Slice metodu örneğin kullandığım zaman orijinal diziyi değiştirmiyor(mutate). Örnek:

const array=[“a”, ”b”, ”c”, “d”, “e”]; diye bir array tanımlayayım.

array.slice(1); yazı bunu konsola kaydedersem alacağım şey: [”b”, ”c”, “d”, “e”] olacaktır. Fakat orijinal array’i yazdırmaya kalkarsam, onun değişmediğini görürüm yani console.log(array); komutunun çıktısı yine [“a”, ”b”, ”c”, “d”, “e”] olacaktır.

Oysa splice() metodu orijinal array’i değiştirir. Örnek:

console.log(array.splice(1)); komutu slice ile aynı işi yapıyor gibi görünecektir başta çünkü çıktısı şu olacaktır: [”b”, ”c”, “d”, “e”]. oysa orijinal array’i yazdırırsam yani console.log(array); komutunu yazarsam çıkan şey [“a”] olacaktır ki orijinal array’den diğer 4 elemanın atıldığını görürüm. Bu çok önemli bir farktır ve dikkat etmekte fayda var.

--

--

Burak Karaben

Mostly historical contents but sometimes music, web design and diary