{"id":44024,"date":"2026-08-12T08:00:40","date_gmt":"2026-08-12T05:00:40","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/?p=44024"},"modified":"2026-08-12T08:01:12","modified_gmt":"2026-08-12T05:01:12","slug":"javascriptte-es6-ile-nesne-ve-dizi-destructuring","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/javascriptte-es6-ile-nesne-ve-dizi-destructuring\/","title":{"rendered":"JavaScript&#8217;te ES6 ile Nesne ve Dizi Destructuring"},"content":{"rendered":"<h2>JavaScript&#8217;te ES6 ile Nesne ve Dizi Destructuring<\/h2>\n<p>JavaScript, modern web geli\u015ftirmenin temel ta\u015flar\u0131ndan biri olup, ES6 (ECMAScript 2015) ile birlikte dilin g\u00fcc\u00fcn\u00fc ve ifade yetene\u011fini \u00f6nemli \u00f6l\u00e7\u00fcde art\u0131ran bir\u00e7ok yeni \u00f6zellik kazanm\u0131\u015ft\u0131r. Bu \u00f6zellikler aras\u0131nda en dikkat \u00e7ekicilerinden ve geli\u015ftiricilerin g\u00fcnl\u00fck i\u015f ak\u0131\u015f\u0131n\u0131 en \u00e7ok kolayla\u015ft\u0131ranlardan ikisi, &#8220;Nesne Destructuring&#8221; (Object Destructuring) ve &#8220;Dizi Destructuring&#8221; (Array Destructuring) yetenekleridir. Bu makalede, bu iki g\u00fc\u00e7l\u00fc \u00f6zelli\u011fin ne oldu\u011funu, nas\u0131l \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131, hangi senaryolarda kullan\u0131labilece\u011fini ve kodunuzu nas\u0131l daha okunabilir ve s\u00fcrd\u00fcr\u00fclebilir hale getirebilece\u011fini ayr\u0131nt\u0131l\u0131 bir \u015fekilde inceleyece\u011fiz.<\/p>\n<p>Destructuring, kelime anlam\u0131 olarak &#8220;yap\u0131y\u0131 bozma&#8221; veya &#8220;yap\u0131dan ay\u0131rma&#8221; demektir. JavaScript ba\u011flam\u0131nda ise bu, bir nesnenin veya dizinin i\u00e7indeki de\u011ferleri, ayr\u0131 de\u011fi\u015fkenlere kolayca \u00e7\u0131karman\u0131za olanak tan\u0131yan bir s\u00f6zdizimsel \u015fekerdir (syntactic sugar). Bu \u00f6zellikler sayesinde, daha \u00f6nce uzun ve tekrar eden kod sat\u0131rlar\u0131yla yap\u0131lmas\u0131 gereken i\u015flemler, \u00e7ok daha k\u0131sa ve anla\u015f\u0131l\u0131r bir \u015fekilde ifade edilebilir hale gelmi\u015ftir. \u00d6zellikle b\u00fcy\u00fck veri yap\u0131lar\u0131yla \u00e7al\u0131\u015f\u0131rken veya fonksiyon parametrelerini tan\u0131mlarken destructuring&#8217;in sa\u011flad\u0131\u011f\u0131 avantajlar paha bi\u00e7ilmezdir.<\/p>\n<h3>Destructuring Nedir ve Neden \u00d6nemlidir?<\/h3>\n<p>Destructuring atamas\u0131, bir nesnenin veya dizinin \u00f6zelliklerini veya \u00f6\u011felerini ayr\u0131 de\u011fi\u015fkenlere \u00e7\u0131karman\u0131n k\u0131sayoludur. ES6 \u00f6ncesinde, bir nesneden veya diziden belirli de\u011ferleri almak istedi\u011fimizde, her bir de\u011fer i\u00e7in ayr\u0131 ayr\u0131 atama yapmam\u0131z gerekiyordu. Bu durum, \u00f6zellikle \u00e7ok say\u0131da \u00f6\u011fe i\u00e7eren yap\u0131larla \u00e7al\u0131\u015f\u0131rken kodu kalabal\u0131kla\u015ft\u0131r\u0131yor ve okunabilirli\u011fi azalt\u0131yordu. Destructuring, bu s\u00fcreci otomatikle\u015ftirerek kodun daha temiz, daha \u00f6zl\u00fc ve daha i\u015flevsel olmas\u0131n\u0131 sa\u011flar.<\/p>\n<p>Destructuring&#8217;in sundu\u011fu temel faydalar \u015funlard\u0131r:<\/p>\n<ul>\n<li><b>Kod K\u0131sal\u0131\u011f\u0131:<\/b> Tekrar eden atama ifadelerini ortadan kald\u0131r\u0131r.<\/li>\n<li><b>Okunabilirlik:<\/b> Hangi de\u011ferlerin nereden geldi\u011fini bir bak\u0131\u015fta anlamay\u0131 kolayla\u015ft\u0131r\u0131r.<\/li>\n<li><b>Verimlilik:<\/b> \u00d6zellikle fonksiyon parametrelerinde ve API yan\u0131tlar\u0131n\u0131 i\u015flerken geli\u015ftirme s\u00fcrecini h\u0131zland\u0131r\u0131r.<\/li>\n<li><b>Esneklik:<\/b> Varsay\u0131lan de\u011ferler atama, yeniden adland\u0131rma ve kalan \u00f6\u011feleri toplama gibi geli\u015fmi\u015f \u00f6zellikler sunar.<\/li>\n<\/ul>\n<p>\u015eimdi bu iki \u00f6nemli destructuring t\u00fcr\u00fcn\u00fc ayr\u0131 ayr\u0131 inceleyelim.<\/p>\n<h3>Nesne Destructuring (Object Destructuring)<\/h3>\n<p>Nesne destructuring, bir nesnenin \u00f6zelliklerini, ayn\u0131 isimdeki de\u011fi\u015fkenlere ataman\u0131n veya farkl\u0131 isimler vererek ataman\u0131n bir yoludur. Bu, \u00f6zellikle bir API&#8217;den gelen karma\u015f\u0131k veri yap\u0131lar\u0131n\u0131 i\u015flerken veya bir konfig\u00fcrasyon nesnesinden belirli ayarlar\u0131 al\u0131rken \u00e7ok kullan\u0131\u015fl\u0131d\u0131r.<\/p>\n<h4>Temel Nesne Destructuring S\u00f6zdizimi<\/h4>\n<p>Bir nesnenin \u00f6zelliklerini, s\u00fcsl\u00fc parantezler <code>{}<\/code> kullanarak ve \u00f6zellik adlar\u0131n\u0131 do\u011frudan de\u011fi\u015fken adlar\u0131 olarak belirterek \u00e7\u0131karabiliriz.<\/p>\n<p>\u00d6rnek:<\/p>\n<pre><code class=\"language-javascript\">const kullanici = {\n  ad: &quot;Ali&quot;,\n  soyad: &quot;Y\u0131lmaz&quot;,\n  yas: 30,\n  email: &quot;ali.yilmaz@example.com&quot;\n};\n\n\/\/ ES6 \u00f6ncesi\n\/\/ const ad = kullanici.ad;\n\/\/ const soyad = kullanici.soyad;\n\n\/\/ ES6 ile Nesne Destructuring\nconst { ad, soyad } = kullanici;\n\nconsole.log(ad);    \/\/ &quot;Ali&quot;\nconsole.log(soyad); \/\/ &quot;Y\u0131lmaz&quot;<\/code><\/pre>\n<p>Bu \u00f6rnekte, <code>kullanici<\/code> nesnesinden <code>ad<\/code> ve <code>soyad<\/code> \u00f6zelliklerini al\u0131p, ayn\u0131 isimde yeni de\u011fi\u015fkenlere atad\u0131k. <code>yas<\/code> ve <code>email<\/code> \u00f6zellikleri al\u0131nmad\u0131\u011f\u0131 i\u00e7in, bunlar i\u00e7in herhangi bir de\u011fi\u015fken olu\u015fturulmad\u0131.<\/p>\n<h4>Yeni De\u011fi\u015fken Adlar\u0131 Atama<\/h4>\n<p>Bazen bir nesne \u00f6zelli\u011finin ad\u0131n\u0131 de\u011fi\u015ftirmek veya mevcut bir de\u011fi\u015fken ad\u0131yla \u00e7ak\u0131\u015fmas\u0131n\u0131 \u00f6nlemek isteyebiliriz. Nesne destructuring, bu duruma olanak tan\u0131r:<\/p>\n<pre><code class=\"language-javascript\">const urun = {\n  id: &quot;ABC123&quot;,\n  adi: &quot;Laptop&quot;,\n  fiyat: 1200,\n  stokAdedi: 50\n};\n\n\/\/ 'adi' \u00f6zelli\u011fini 'urunAdi' olarak, 'fiyat' \u00f6zelli\u011fini 'urunFiyati' olarak yeniden adland\u0131rma\nconst { adi: urunAdi, fiyat: urunFiyati } = urun;\n\nconsole.log(urunAdi);    \/\/ &quot;Laptop&quot;\nconsole.log(urunFiyati); \/\/ 1200\n\/\/ console.log(adi);     \/\/ Hata: adi tan\u0131ml\u0131 de\u011fil<\/code><\/pre>\n<p>Burada, <code>adi<\/code> \u00f6zelli\u011fi <code>urunAdi<\/code> de\u011fi\u015fkenine, <code>fiyat<\/code> \u00f6zelli\u011fi ise <code>urunFiyati<\/code> de\u011fi\u015fkenine atanm\u0131\u015ft\u0131r. Orijinal \u00f6zellik adlar\u0131 (\u00f6rn. <code>adi<\/code>) art\u0131k de\u011fi\u015fken olarak eri\u015filebilir de\u011fildir.<\/p>\n<h4>Varsay\u0131lan De\u011ferler (Default Values)<\/h4>\n<p>Destructuring yaparken, e\u011fer bir \u00f6zellik nesnede mevcut de\u011filse, o de\u011fi\u015fkene <code>undefined<\/code> atan\u0131r. Ancak, bir varsay\u0131lan de\u011fer belirleyerek bu durumu \u00f6nleyebiliriz. Bu, \u00f6zellikle opsiyonel \u00f6zelliklerle \u00e7al\u0131\u015f\u0131rken veya bir API yan\u0131t\u0131nda belirli bir alan\u0131n eksik olabilece\u011fi durumlarda \u00e7ok kullan\u0131\u015fl\u0131d\u0131r.<\/p>\n<pre><code class=\"language-javascript\">const ayarlar = {\n  tema: &quot;dark&quot;,\n  dil: &quot;tr&quot;\n  \/\/ bildirimler \u00f6zelli\u011fi eksik\n};\n\nconst { tema, dil, bildirimler = true } = ayarlar;\n\nconsole.log(tema);         \/\/ &quot;dark&quot;\nconsole.log(dil);          \/\/ &quot;tr&quot;\nconsole.log(bildirimler);  \/\/ true (\u00e7\u00fcnk\u00fc 'bildirimler' ayarlar nesnesinde yoktu)\n\nconst kullanici2 = {\n  ad: &quot;Ay\u015fe&quot;\n};\n\nconst { ad, soyad = &quot;Bilinmiyor&quot; } = kullanici2;\n\nconsole.log(ad);    \/\/ &quot;Ay\u015fe&quot;\nconsole.log(soyad); \/\/ &quot;Bilinmiyor&quot;<\/code><\/pre>\n<p>Varsay\u0131lan de\u011ferler, yeniden adland\u0131rma ile de birlikte kullan\u0131labilir:<\/p>\n<pre><code class=\"language-javascript\">const { kullaniciAdi: ad = &quot;Misafir&quot;, yetki: rol = &quot;kullanici&quot; } = {};\n\nconsole.log(ad);  \/\/ &quot;Misafir&quot;\nconsole.log(rol); \/\/ &quot;kullanici&quot;<\/code><\/pre>\n<h4>Kalan \u00d6zellikleri Toplama (Rest Property)<\/h4>\n<p>Bazen bir nesneden belirli \u00f6zellikleri al\u0131p, geri kalan t\u00fcm \u00f6zellikleri tek bir yeni nesnede toplamak isteyebiliriz. Bu, rest parametre (<code>...<\/code>) s\u00f6zdizimi ile m\u00fcmk\u00fcnd\u00fcr.<\/p>\n<pre><code class=\"language-javascript\">const urunDetaylari = {\n  isim: &quot;Ak\u0131ll\u0131 Saat&quot;,\n  marka: &quot;TechWear&quot;,\n  fiyat: 250,\n  renk: &quot;Siyah&quot;,\n  garanti: &quot;2 Y\u0131l&quot;\n};\n\nconst { isim, fiyat, ...digerOzellikler } = urunDetaylari;\n\nconsole.log(isim);             \/\/ &quot;Ak\u0131ll\u0131 Saat&quot;\nconsole.log(fiyat);            \/\/ 250\nconsole.log(digerOzellikler);  \/\/ { marka: &quot;TechWear&quot;, renk: &quot;Siyah&quot;, garanti: &quot;2 Y\u0131l&quot; }<\/code><\/pre>\n<p><code>digerOzellikler<\/code> de\u011fi\u015fkeni, <code>urunDetaylari<\/code> nesnesinden <code>isim<\/code> ve <code>fiyat<\/code> d\u0131\u015f\u0131ndaki t\u00fcm \u00f6zellikleri i\u00e7eren yeni bir nesne haline gelir. Rest parametresi, destructuring ifadesinin sonunda olmal\u0131d\u0131r.<\/p>\n<h4>\u0130\u00e7 \u0130\u00e7e Nesne Destructuring (Nested Object Destructuring)<\/h4>\n<p>Daha karma\u015f\u0131k nesne yap\u0131lar\u0131yla \u00e7al\u0131\u015f\u0131rken, i\u00e7 i\u00e7e ge\u00e7mi\u015f nesnelerin \u00f6zelliklerini de do\u011frudan \u00e7\u0131karabiliriz.<\/p>\n<pre><code class=\"language-javascript\">const kullaniciProfil = {\n  id: 1,\n  bilgiler: {\n    ad: &quot;Mert&quot;,\n    soyad: &quot;Demir&quot;,\n    adres: {\n      sehir: &quot;\u0130stanbul&quot;,\n      ulke: &quot;T\u00fcrkiye&quot;\n    }\n  },\n  ayarlar: {\n    dil: &quot;tr&quot;,\n    bildirimler: true\n  }\n};\n\nconst {\n  bilgiler: { ad, adres: { sehir } },\n  ayarlar: { dil, bildirimler = false }\n} = kullaniciProfil;\n\nconsole.log(ad);           \/\/ &quot;Mert&quot;\nconsole.log(sehir);        \/\/ &quot;\u0130stanbul&quot;\nconsole.log(dil);          \/\/ &quot;tr&quot;\nconsole.log(bildirimler);  \/\/ true\n\/\/ console.log(bilgiler);  \/\/ Hata: bilgiler tan\u0131ml\u0131 de\u011fil, sadece i\u00e7indeki 'ad' al\u0131nd\u0131.<\/code><\/pre>\n<p>Bu \u00f6rnekte, <code>bilgiler<\/code> ve <code>adres<\/code> gibi ara nesneleri do\u011frudan de\u011fi\u015fken olarak almad\u0131k, sadece i\u00e7lerindeki istedi\u011fimiz \u00f6zelliklere eri\u015ftik. E\u011fer <code>bilgiler<\/code> nesnesinin tamam\u0131na da eri\u015fmek isteseydik, onu da ayr\u0131 bir de\u011fi\u015fken olarak tan\u0131mlamam\u0131z gerekirdi:<\/p>\n<pre><code class=\"language-javascript\">const {\n  bilgiler, \/\/ 'bilgiler' nesnesinin tamam\u0131n\u0131 al\u0131r\n  bilgiler: { ad, adres: { sehir } }\n} = kullaniciProfil;\n\nconsole.log(bilgiler); \/\/ { ad: &quot;Mert&quot;, soyad: &quot;Demir&quot;, adres: { sehir: &quot;\u0130stanbul&quot;, ulke: &quot;T\u00fcrkiye&quot; } }\nconsole.log(ad);       \/\/ &quot;Mert&quot;<\/code><\/pre>\n<h4>Fonksiyon Parametrelerinde Nesne Destructuring<\/h4>\n<p>Nesne destructuring&#8217;in en g\u00fc\u00e7l\u00fc kullan\u0131m alanlar\u0131ndan biri, fonksiyon parametrelerinde olmas\u0131d\u0131r. Bu, fonksiyonlara ge\u00e7irilen konfig\u00fcrasyon nesnelerini veya karma\u015f\u0131k veri objelerini daha okunabilir ve y\u00f6netilebilir hale getirir.<\/p>\n<pre><code class=\"language-javascript\">function kullaniciBilgileriniGoster({ ad, soyad, yas, email = &quot;bilgi_yok@example.com&quot; }) {\n  console.log(<code>Ad: ${ad}, Soyad: ${soyad}, Ya\u015f: ${yas}, Email: ${email}<\/code>);\n}\n\nconst kullanici1 = { ad: &quot;Zeynep&quot;, soyad: &quot;Kara&quot;, yas: 28 };\nconst kullanici2 = { ad: &quot;Murat&quot;, soyad: &quot;Ak&quot;, yas: 35, email: &quot;murat.ak@example.com&quot; };\n\nkullaniciBilgileriniGoster(kullanici1);\n\/\/ \u00c7\u0131kt\u0131: Ad: Zeynep, Soyad: Kara, Ya\u015f: 28, Email: bilgi_yok@example.com\n\nkullaniciBilgileriniGoster(kullanici2);\n\/\/ \u00c7\u0131kt\u0131: Ad: Murat, Soyad: Ak, Ya\u015f: 35, Email: murat.ak@example.com<\/code><\/pre>\n<p>Bu yakla\u015f\u0131m, fonksiyon \u00e7a\u011fr\u0131s\u0131n\u0131 daha esnek hale getirir ve parametrelerin s\u0131ras\u0131na ba\u011f\u0131ml\u0131l\u0131\u011f\u0131 ortadan kald\u0131r\u0131r. Ayr\u0131ca, fonksiyonun hangi \u00f6zellikleri bekledi\u011fini imzadan anlamay\u0131 kolayla\u015ft\u0131r\u0131r. Fonksiyona bo\u015f bir nesne ge\u00e7irilirse ve varsay\u0131lan de\u011ferler tan\u0131mlanmam\u0131\u015fsa, <code>undefined<\/code> hatalar\u0131 olu\u015fabilir. Bunu \u00f6nlemek i\u00e7in, t\u00fcm parametre nesnesine de varsay\u0131lan bir bo\u015f nesne atayabiliriz:<\/p>\n<pre><code class=\"language-javascript\">function ayarGuncelle({ tema = &quot;light&quot;, dil = &quot;en&quot;, bildirimler = false } = {}) {\n  console.log(<code>Tema: ${tema}, Dil: ${dil}, Bildirimler: ${bildirimler}<\/code>);\n}\n\nayarGuncelle({ tema: &quot;dark&quot;, bildirimler: true }); \/\/ Tema: dark, Dil: en, Bildirimler: true\nayarGuncelle({});                                 \/\/ Tema: light, Dil: en, Bildirimler: false\nayarGuncelle();                                   \/\/ Tema: light, Dil: en, Bildirimler: false (bo\u015f nesne varsay\u0131lan olarak kullan\u0131l\u0131r)<\/code><\/pre>\n<h3>Dizi Destructuring (Array Destructuring)<\/h3>\n<p>Dizi destructuring, bir dizinin \u00f6\u011felerini, s\u0131ras\u0131na g\u00f6re ayr\u0131 de\u011fi\u015fkenlere ataman\u0131n bir yoludur. Nesne destructuring&#8217;in aksine, dizi destructuring&#8217;de \u00f6\u011feler adlar\u0131na g\u00f6re de\u011fil, konumlar\u0131na g\u00f6re e\u015fle\u015ftirilir.<\/p>\n<h4>Temel Dizi Destructuring S\u00f6zdizimi<\/h4>\n<p>Bir dizinin \u00f6\u011felerini, k\u00f6\u015feli parantezler <code>[]<\/code> kullanarak ve istedi\u011finiz de\u011fi\u015fken adlar\u0131n\u0131 belirterek \u00e7\u0131karabiliriz.<\/p>\n<p>\u00d6rnek:<\/p>\n<pre><code class=\"language-javascript\">const renkler = [&quot;k\u0131rm\u0131z\u0131&quot;, &quot;ye\u015fil&quot;, &quot;mavi&quot;, &quot;sar\u0131&quot;];\n\n\/\/ ES6 \u00f6ncesi\n\/\/ const ilkRenk = renkler[0];\n\/\/ const ikinciRenk = renkler[1];\n\n\/\/ ES6 ile Dizi Destructuring\nconst [ilkRenk, ikinciRenk] = renkler;\n\nconsole.log(ilkRenk);    \/\/ &quot;k\u0131rm\u0131z\u0131&quot;\nconsole.log(ikinciRenk); \/\/ &quot;ye\u015fil&quot;<\/code><\/pre>\n<p>Bu \u00f6rnekte, <code>renkler<\/code> dizisinin ilk iki \u00f6\u011fesini <code>ilkRenk<\/code> ve <code>ikinciRenk<\/code> de\u011fi\u015fkenlerine atad\u0131k.<\/p>\n<h4>\u00d6\u011feleri Atlamak (Skipping Elements)<\/h4>\n<p>Bir diziden sadece belirli \u00f6\u011feleri almak ve aradaki baz\u0131 \u00f6\u011feleri atlamak isteyebiliriz. Bunun i\u00e7in, atlamak istedi\u011fimiz \u00f6\u011felerin yerine bo\u015fluk b\u0131rak\u0131r\u0131z (veya virg\u00fcl kullan\u0131r\u0131z).<\/p>\n<pre><code class=\"language-javascript\">const sayilar = [1, 2, 3, 4, 5];\n\nconst [bir, , uc, , bes] = sayilar;\n\nconsole.log(bir); \/\/ 1\nconsole.log(uc);  \/\/ 3\nconsole.log(bes); \/\/ 5<\/code><\/pre>\n<h4>Varsay\u0131lan De\u011ferler (Default Values)<\/h4>\n<p>Dizi destructuring&#8217;de de nesne destructuring&#8217;de oldu\u011fu gibi varsay\u0131lan de\u011ferler belirleyebiliriz. E\u011fer bir dizinin belirli bir indeksinde \u00f6\u011fe yoksa, o de\u011fi\u015fkene tan\u0131mlad\u0131\u011f\u0131m\u0131z varsay\u0131lan de\u011fer atan\u0131r.<\/p>\n<pre><code class=\"language-javascript\">const liste = [&quot;elma&quot;, &quot;armut&quot;];\n\nconst [meyve1, meyve2, meyve3 = &quot;kiraz&quot;] = liste;\n\nconsole.log(meyve1); \/\/ &quot;elma&quot;\nconsole.log(meyve2); \/\/ &quot;armut&quot;\nconsole.log(meyve3); \/\/ &quot;kiraz&quot; (\u00e7\u00fcnk\u00fc liste dizisinde 2. indeks bo\u015ftu)\n\nconst kisaltilmisListe = [&quot;masa&quot;];\nconst [urunAdi, miktar = 1, birim = &quot;adet&quot;] = kisaltilmisListe;\n\nconsole.log(urunAdi); \/\/ &quot;masa&quot;\nconsole.log(miktar);  \/\/ 1\nconsole.log(birim);   \/\/ &quot;adet&quot;<\/code><\/pre>\n<h4>Kalan \u00d6\u011feleri Toplama (Rest Element)<\/h4>\n<p>Bir diziden belirli \u00f6\u011feleri al\u0131p, geri kalan t\u00fcm \u00f6\u011feleri yeni bir dizi i\u00e7inde toplamak i\u00e7in rest parametre (<code>...<\/code>) s\u00f6zdizimini kullanabiliriz. Bu, her zaman destructuring ifadesinin sonunda olmal\u0131d\u0131r.<\/p>\n<pre><code class=\"language-javascript\">const tumSayilar = [10, 20, 30, 40, 50, 60];\n\nconst [ilk, ikinci, ...kalanSayilar] = tumSayilar;\n\nconsole.log(ilk);          \/\/ 10\nconsole.log(ikinci);       \/\/ 20\nconsole.log(kalanSayilar); \/\/ [30, 40, 50, 60]<\/code><\/pre>\n<h4>De\u011fi\u015fkenleri Takas Etme (Swapping Variables)<\/h4>\n<p>Dizi destructuring&#8217;in \u015fa\u015f\u0131rt\u0131c\u0131 ve pratik kullan\u0131mlar\u0131ndan biri, iki de\u011fi\u015fkenin de\u011ferini tek bir sat\u0131rda takas etmektir. ES6 \u00f6ncesinde bu, ge\u00e7ici bir de\u011fi\u015fken gerektiriyordu.<\/p>\n<pre><code class=\"language-javascript\">let a = 10;\nlet b = 20;\n\n\/\/ ES6 \u00f6ncesi\n\/\/ let temp = a;\n\/\/ a = b;\n\/\/ b = temp;\n\n\/\/ ES6 ile Dizi Destructuring\n[a, b] = [b, a];\n\nconsole.log(a); \/\/ 20\nconsole.log(b); \/\/ 10<\/code><\/pre>\n<p>Bu, k\u0131sa ve zarif bir \u00e7\u00f6z\u00fcm sunar.<\/p>\n<h4>\u0130\u00e7 \u0130\u00e7e Dizi Destructuring (Nested Array Destructuring)<\/h4>\n<p>Diziler i\u00e7inde dizilerle \u00e7al\u0131\u015f\u0131rken de destructuring kullanabiliriz.<\/p>\n<pre><code class=\"language-javascript\">const matris = [\n  [1, 2],\n  [3, 4],\n  [5, 6]\n];\n\nconst [\n  [satir1_eleman1, satir1_eleman2],\n  [, satir2_eleman2] \/\/ \u0130kinci sat\u0131r\u0131n ilk eleman\u0131n\u0131 atla\n] = matris;\n\nconsole.log(satir1_eleman1); \/\/ 1\nconsole.log(satir1_eleman2); \/\/ 2\nconsole.log(satir2_eleman2); \/\/ 4<\/code><\/pre>\n<h4>Fonksiyon D\u00f6n\u00fc\u015f De\u011ferlerinde Dizi Destructuring<\/h4>\n<p>Fonksiyonlar birden fazla de\u011fer d\u00f6nd\u00fcrmek istedi\u011finde, bu de\u011ferleri bir dizi olarak d\u00f6nd\u00fcrmek ve ard\u0131ndan bu diziyi destructuring ile a\u00e7mak yayg\u0131n ve etkili bir y\u00f6ntemdir.<\/p>\n<pre><code class=\"language-javascript\">function hesapla(x, y) {\n  const toplam = x + y;\n  const fark = x - y;\n  const carpim = x * y;\n  return [toplam, fark, carpim];\n}\n\nconst [sonucToplam, sonucFark, sonucCarpim] = hesapla(10, 5);\n\nconsole.log(<code>Toplam: ${sonucToplam}<\/code>);   \/\/ Toplam: 15\nconsole.log(<code>Fark: ${sonucFark}<\/code>);       \/\/ Fark: 5\nconsole.log(<code>\u00c7arp\u0131m: ${sonucCarpim}<\/code>);   \/\/ \u00c7arp\u0131m: 50<\/code><\/pre>\n<p>Bu, fonksiyonun ne d\u00f6nd\u00fcrd\u00fc\u011f\u00fcn\u00fc a\u00e7\u0131k\u00e7a g\u00f6sterir ve her bir d\u00f6n\u00fc\u015f de\u011ferini ayr\u0131 bir de\u011fi\u015fkene atamay\u0131 kolayla\u015ft\u0131r\u0131r. React hook&#8217;lar\u0131 (\u00f6rn. <code>useState<\/code>) bu deseni yo\u011fun bir \u015fekilde kullan\u0131r.<\/p>\n<h3>Karma Destructuring (Combining Object and Array Destructuring)<\/h3>\n<p>Nesne ve dizi destructuring&#8217;i bir arada kullanmak, daha karma\u015f\u0131k veri yap\u0131lar\u0131n\u0131 i\u015flerken kodun okunabilirli\u011fini ve k\u0131sal\u0131\u011f\u0131n\u0131 art\u0131r\u0131r. \u00d6rne\u011fin, bir nesnenin i\u00e7inde bir dizi veya bir dizinin i\u00e7inde bir nesne olabilir.<\/p>\n<pre><code class=\"language-javascript\">const kullaniciVerileri = {\n  id: 101,\n  isim: &quot;Elif&quot;,\n  roller: [&quot;admin&quot;, &quot;editor&quot;],\n  iletisim: {\n    email: &quot;elif@example.com&quot;,\n    telefonlar: [&quot;555-1234&quot;, &quot;555-5678&quot;]\n  }\n};\n\nconst {\n  isim,\n  roller: [ilkRol, ikinciRol], \/\/ 'roller' dizisini destructuring\n  iletisim: {\n    email,\n    telefonlar: [anaTelefon, ...digerTelefonlar] \/\/ 'telefonlar' dizisini destructuring\n  }\n} = kullaniciVerileri;\n\nconsole.log(isim);            \/\/ &quot;Elif&quot;\nconsole.log(ilkRol);          \/\/ &quot;admin&quot;\nconsole.log(ikinciRol);       \/\/ &quot;editor&quot;\nconsole.log(email);           \/\/ &quot;elif@example.com&quot;\nconsole.log(anaTelefon);      \/\/ &quot;555-1234&quot;\nconsole.log(digerTelefonlar); \/\/ [&quot;555-5678&quot;]<\/code><\/pre>\n<p>Bu \u00f6rnek, ger\u00e7ek d\u00fcnya uygulamalar\u0131nda s\u0131kl\u0131kla kar\u015f\u0131la\u015f\u0131lan karma\u015f\u0131k veri yap\u0131lar\u0131n\u0131 nas\u0131l zarif\u00e7e i\u015fleyebilece\u011fimizi g\u00f6stermektedir.<\/p>\n<h3>Destructuring Kullan\u0131m\u0131nda En \u0130yi Uygulamalar ve \u0130pu\u00e7lar\u0131<\/h3>\n<p>Destructuring, kodunuzu b\u00fcy\u00fck \u00f6l\u00e7\u00fcde iyile\u015ftirebilen g\u00fc\u00e7l\u00fc bir ara\u00e7t\u0131r, ancak her ara\u00e7 gibi, ne zaman ve nas\u0131l kullan\u0131laca\u011f\u0131n\u0131 bilmek \u00f6nemlidir.<\/p>\n<ol>\n<li><b>A\u015f\u0131r\u0131 Kullan\u0131mdan Ka\u00e7\u0131n\u0131n:<\/b> K\u00fc\u00e7\u00fck ve basit nesneler veya diziler i\u00e7in destructuring kullanmak her zaman gerekli olmayabilir. Bazen do\u011frudan <code>obj.prop<\/code> veya <code>arr[index]<\/code> eri\u015fimi daha anla\u015f\u0131l\u0131r olabilir. A\u015f\u0131r\u0131 destructuring, \u00f6zellikle \u00e7ok i\u00e7 i\u00e7e ge\u00e7mi\u015f yap\u0131larla \u00e7al\u0131\u015f\u0131rken kodun okunabilirli\u011fini azaltabilir.<\/li>\n<li><b>Varsay\u0131lan De\u011ferleri Ak\u0131ll\u0131ca Kullan\u0131n:<\/b> \u00d6zellikle opsiyonel verilerle \u00e7al\u0131\u015f\u0131rken veya API yan\u0131tlar\u0131nda baz\u0131 alanlar\u0131n eksik olabilece\u011fi durumlarda varsay\u0131lan de\u011ferler, <code>undefined<\/code> hatalar\u0131n\u0131 \u00f6nlemek i\u00e7in hayati \u00f6neme sahiptir.<\/li>\n<li><b>Yeniden Adland\u0131rmay\u0131 Dikkatli Kullan\u0131n:<\/b> Bir \u00f6zelli\u011fi yeniden adland\u0131rmak, de\u011fi\u015fken ad\u0131n\u0131n daha a\u00e7\u0131klay\u0131c\u0131 olmas\u0131n\u0131 sa\u011flad\u0131\u011f\u0131nda veya isim \u00e7ak\u0131\u015fmalar\u0131n\u0131 \u00f6nledi\u011finde faydal\u0131d\u0131r. Ancak, \u00e7ok s\u0131k yeniden adland\u0131rma yapmak, kodun orijinal veri yap\u0131s\u0131yla olan ba\u011flant\u0131s\u0131n\u0131 kaybetmesine neden olabilir.<\/li>\n<li><b>Fonksiyon Parametrelerinde Destructuring:<\/b> Bu, fonksiyon imzalar\u0131n\u0131 daha okunabilir hale getiren ve parametrelerin s\u0131ras\u0131na olan ba\u011f\u0131ml\u0131l\u0131\u011f\u0131 azaltan m\u00fckemmel bir kullan\u0131m durumudur. \u00d6zellikle ayar nesneleri veya karma\u015f\u0131k veri nesneleri alan fonksiyonlar i\u00e7in idealdir.<\/li>\n<li><b>Rest Parametreleri ile Temiz Kod:<\/b> <code>...rest<\/code> operat\u00f6r\u00fcn\u00fc kullanarak kalan \u00f6\u011feleri veya \u00f6zellikleri toplamak, kodunuzu daha mod\u00fcler hale getirebilir ve sadece ihtiyac\u0131n\u0131z olan\u0131 ay\u0131rman\u0131za yard\u0131mc\u0131 olabilir.<\/li>\n<li><b>Hata Yakalama:<\/b> Destructuring i\u015flemi s\u0131ras\u0131nda var olmayan bir \u00f6zelli\u011fe eri\u015fmeye \u00e7al\u0131\u015f\u0131rsan\u0131z (varsay\u0131lan de\u011fer tan\u0131mlanmam\u0131\u015fsa), <code>undefined<\/code> al\u0131rs\u0131n\u0131z. E\u011fer bu bir nesnenin i\u00e7indeki bir \u00f6zellikse, <code>TypeError<\/code> ile kar\u015f\u0131la\u015fabilirsiniz. Bu t\u00fcr hatalar\u0131 \u00f6ng\u00f6rerek varsay\u0131lan de\u011ferler kullanmak veya kontrol mekanizmalar\u0131 eklemek \u00f6nemlidir.<\/li>\n<\/ol>\n<h4>Performans Konular\u0131<\/h4>\n<p>Destructuring&#8217;in performans\u0131 hakk\u0131nda endi\u015felenmenize gerek yoktur. Modern JavaScript motorlar\u0131, destructuring atamalar\u0131n\u0131 olduk\u00e7a verimli bir \u015fekilde optimize eder. \u00c7o\u011fu durumda, manuel atamalarla aras\u0131nda g\u00f6zle g\u00f6r\u00fcl\u00fcr bir performans fark\u0131 olmayacakt\u0131r. Bu nedenle, performans kayg\u0131lar\u0131 yerine kodun okunabilirli\u011fi ve s\u00fcrd\u00fcr\u00fclebilirli\u011fi gibi fakt\u00f6rlere odaklanmak daha do\u011fru bir yakla\u015f\u0131md\u0131r.<\/p>\n<h3>Sonu\u00e7<\/h3>\n<p>Nesne ve dizi destructuring, ES6 ile JavaScript&#8217;e eklenen ve geli\u015ftiricilerin g\u00fcnl\u00fck i\u015f ak\u0131\u015f\u0131n\u0131 k\u00f6kten de\u011fi\u015ftiren en faydal\u0131 \u00f6zelliklerden ikisidir. Bu \u00f6zellikler, kodun daha k\u0131sa, daha temiz ve daha okunabilir olmas\u0131n\u0131 sa\u011flayarak hem geli\u015ftirme h\u0131z\u0131n\u0131 art\u0131r\u0131r hem de hatalar\u0131 azalt\u0131r. \u00d6zellikle karma\u015f\u0131k veri yap\u0131lar\u0131yla \u00e7al\u0131\u015f\u0131rken, API yan\u0131tlar\u0131n\u0131 i\u015flerken veya fonksiyonlara parametreler ge\u00e7irirken destructuring&#8217;in sundu\u011fu avantajlar yads\u0131namaz.<\/p>\n<p>Bu makalede ele ald\u0131\u011f\u0131m\u0131z temel s\u00f6zdiziminden geli\u015fmi\u015f kullan\u0131m senaryolar\u0131na kadar her bir y\u00f6n\u00fcyle destructuring, modern JavaScript geli\u015ftiricisinin ara\u00e7 setinde mutlaka bulunmas\u0131 gereken bir yetenektir. Onu do\u011fru ve bilin\u00e7li bir \u015fekilde kullanarak, daha iyi, daha s\u00fcrd\u00fcr\u00fclebilir ve daha keyifli JavaScript kodu yazabilirsiniz. Destructuring&#8217;i pratik projelerinizde aktif olarak kullanarak, bu g\u00fc\u00e7l\u00fc \u00f6zellikten en iyi \u015fekilde faydalanmay\u0131 \u00f6\u011frenin.<\/p>\n<div class=\"github-example-link\"><strong>\u00d6rnek kod:<\/strong> <a href=\"https:\/\/github.com\/fatihsoysalcom\/javascript-es6-object-array-destructuring\" target=\"_blank\" rel=\"noopener noreferrer\">github.com\/fatihsoysalcom\/javascript-es6-object-array-destructuring<\/a><\/div>\n","protected":false},"excerpt":{"rendered":"JavaScript&#8217;te ES6 ile Nesne ve Dizi Destructuring JavaScript, modern web geli\u015ftirmenin temel ta\u015flar\u0131ndan biri olup, ES6 (ECMAScript 2015) ile birlikte dilin g\u00fcc\u00fcn\u00fc ve ifade yetene\u011fini \u00f6nemli \u00f6l\u00e7\u00fcde art\u0131ran bir\u00e7ok yeni \u00f6zellik kazanm\u0131\u015ft\u0131r.","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"csco_page_header_type":"","csco_page_load_nextpost":"","csco_page_subscribe_form":"","csco_page_contact_form":"","footnotes":""},"categories":[129],"tags":[],"class_list":{"0":"post-44024","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-javascript","7":"cs-entry","8":"cs-video-wrap"},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v20.5 (Yoast SEO v25.3.1) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>JavaScript&#039;te ES6 ile Nesne ve Dizi Destructuring - Kodlar\u0131n Gizemli D\u00fcnyas\u0131<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/fatihsoysal.com\/blog\/javascriptte-es6-ile-nesne-ve-dizi-destructuring\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"JavaScript&#039;te ES6 ile Nesne ve Dizi Destructuring\" \/>\n<meta property=\"og:description\" content=\"JavaScript&#039;te ES6 ile Nesne ve Dizi Destructuring JavaScript, modern web geli\u015ftirmenin temel ta\u015flar\u0131ndan biri olup, ES6 (ECMAScript 2015) ile birlikte dilin g\u00fcc\u00fcn\u00fc ve ifade yetene\u011fini \u00f6nemli \u00f6l\u00e7\u00fcde art\u0131ran bir\u00e7ok yeni \u00f6zellik kazanm\u0131\u015ft\u0131r.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/javascriptte-es6-ile-nesne-ve-dizi-destructuring\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2026-08-12T05:00:40+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-08-12T05:01:12+00:00\" \/>\n<meta name=\"author\" content=\"Fatih Soysal\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Yazan:\" \/>\n\t<meta name=\"twitter:data1\" content=\"Fatih Soysal\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tahmini okuma s\u00fcresi\" \/>\n\t<meta name=\"twitter:data2\" content=\"13 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/javascriptte-es6-ile-nesne-ve-dizi-destructuring\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/javascriptte-es6-ile-nesne-ve-dizi-destructuring\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"JavaScript&#8217;te ES6 ile Nesne ve Dizi Destructuring\",\"datePublished\":\"2026-08-12T05:00:40+00:00\",\"dateModified\":\"2026-08-12T05:01:12+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/javascriptte-es6-ile-nesne-ve-dizi-destructuring\/\"},\"wordCount\":1826,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"articleSection\":[\"Javascript\"],\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/javascriptte-es6-ile-nesne-ve-dizi-destructuring\/#respond\"]}],\"copyrightYear\":\"2026\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/javascriptte-es6-ile-nesne-ve-dizi-destructuring\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/javascriptte-es6-ile-nesne-ve-dizi-destructuring\/\",\"name\":\"JavaScript'te ES6 ile Nesne ve Dizi Destructuring - Kodlar\u0131n Gizemli D\u00fcnyas\u0131\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2026-08-12T05:00:40+00:00\",\"dateModified\":\"2026-08-12T05:01:12+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/javascriptte-es6-ile-nesne-ve-dizi-destructuring\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/javascriptte-es6-ile-nesne-ve-dizi-destructuring\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/javascriptte-es6-ile-nesne-ve-dizi-destructuring\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"JavaScript&#8217;te ES6 ile Nesne ve Dizi Destructuring\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/\",\"name\":\"Fatihsoysal.com\",\"description\":\"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim\",\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"tr\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\",\"name\":\"Fatih Soysal\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"tr\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"contentUrl\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"width\":512,\"height\":512,\"caption\":\"Fatih Soysal\"},\"logo\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\"},\"description\":\"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"JavaScript'te ES6 ile Nesne ve Dizi Destructuring - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/fatihsoysal.com\/blog\/javascriptte-es6-ile-nesne-ve-dizi-destructuring\/","og_locale":"tr_TR","og_type":"article","og_title":"JavaScript'te ES6 ile Nesne ve Dizi Destructuring","og_description":"JavaScript'te ES6 ile Nesne ve Dizi Destructuring JavaScript, modern web geli\u015ftirmenin temel ta\u015flar\u0131ndan biri olup, ES6 (ECMAScript 2015) ile birlikte dilin g\u00fcc\u00fcn\u00fc ve ifade yetene\u011fini \u00f6nemli \u00f6l\u00e7\u00fcde art\u0131ran bir\u00e7ok yeni \u00f6zellik kazanm\u0131\u015ft\u0131r.","og_url":"https:\/\/fatihsoysal.com\/blog\/javascriptte-es6-ile-nesne-ve-dizi-destructuring\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2026-08-12T05:00:40+00:00","article_modified_time":"2026-08-12T05:01:12+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"13 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/javascriptte-es6-ile-nesne-ve-dizi-destructuring\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/javascriptte-es6-ile-nesne-ve-dizi-destructuring\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"JavaScript&#8217;te ES6 ile Nesne ve Dizi Destructuring","datePublished":"2026-08-12T05:00:40+00:00","dateModified":"2026-08-12T05:01:12+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/javascriptte-es6-ile-nesne-ve-dizi-destructuring\/"},"wordCount":1826,"commentCount":0,"publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"articleSection":["Javascript"],"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihsoysal.com\/blog\/javascriptte-es6-ile-nesne-ve-dizi-destructuring\/#respond"]}],"copyrightYear":"2026","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/javascriptte-es6-ile-nesne-ve-dizi-destructuring\/","url":"https:\/\/fatihsoysal.com\/blog\/javascriptte-es6-ile-nesne-ve-dizi-destructuring\/","name":"JavaScript'te ES6 ile Nesne ve Dizi Destructuring - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2026-08-12T05:00:40+00:00","dateModified":"2026-08-12T05:01:12+00:00","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/javascriptte-es6-ile-nesne-ve-dizi-destructuring\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/javascriptte-es6-ile-nesne-ve-dizi-destructuring\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/javascriptte-es6-ile-nesne-ve-dizi-destructuring\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"JavaScript&#8217;te ES6 ile Nesne ve Dizi Destructuring"}]},{"@type":"WebSite","@id":"https:\/\/fatihsoysal.com\/blog\/#website","url":"https:\/\/fatihsoysal.com\/blog\/","name":"Fatihsoysal.com","description":"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim","publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"tr"},{"@type":["Person","Organization"],"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1","name":"Fatih Soysal","image":{"@type":"ImageObject","inLanguage":"tr","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","contentUrl":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","width":512,"height":512,"caption":"Fatih Soysal"},"logo":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/"},"description":"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.","url":"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/"}]}},"yoast_meta":{"yoast_wpseo_title":"","yoast_wpseo_metadesc":"","yoast_wpseo_canonical":""},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/44024","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/comments?post=44024"}],"version-history":[{"count":2,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/44024\/revisions"}],"predecessor-version":[{"id":44026,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/44024\/revisions\/44026"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=44024"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=44024"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=44024"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}