﻿
{"id":8505,"date":"2018-07-10T08:17:09","date_gmt":"2018-07-10T08:17:09","guid":{"rendered":"http:\/\/www.gencayyildiz.com\/blog\/?p=8505"},"modified":"2018-07-10T08:17:09","modified_gmt":"2018-07-10T08:17:09","slug":"ecmascript-6-destructuring","status":"publish","type":"post","link":"https:\/\/www.gencayyildiz.com\/blog\/ecmascript-6-destructuring\/","title":{"rendered":"ECMAScript 6 \u2013 Destructuring"},"content":{"rendered":"<div id=\"fb-root\"><\/div>\n<p>Merhaba,<\/p>\n<p>Elimizdeki nesneleri yahut dizileri var olan mevcut yap\u0131lar\u0131ndan daha k\u00fc\u00e7\u00fck par\u00e7alara ay\u0131rmak isteyebiliriz. ECMAScript 6 ile gelen Destructuring \u00f6zelli\u011fi bu iste\u011fimize kar\u015f\u0131l\u0131k olarak nesneleri ya da dizileri par\u00e7alayabilmekte ve bu i\u015flem neticesinde i\u015fimize yarayan par\u00e7alardan istedi\u011fimizi \u00e7ekip kullanma \u00f6zg\u00fcrl\u00fc\u011f\u00fcn\u00fc bizlere tan\u0131maktad\u0131r.<\/p>\n<p>\u015eimdi gelin Destructuring \u00f6zelli\u011fini nesneler ve diziler i\u00e7in ayr\u0131 ayr\u0131 ele alal\u0131m.<\/p>\n<h2>Objeler \u0130\u00e7in Destructuring<\/h2>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\nlet personel = {\r\n    Adi: &quot;Gen\u00e7ay&quot;,\r\n    Soyadi: &quot;Y\u0131ld\u0131z&quot;\r\n};\r\n<\/pre>\n<p>Yukar\u0131daki nesneyi ele al\u0131rsak e\u011fer; nesne i\u00e7erisindeki &#8220;Adi&#8221; ve &#8220;Soyadi&#8221; propertylerini farkl\u0131 par\u00e7alarda elde etmek i\u00e7in Destructuring \u00f6zelli\u011finden \u00f6nce a\u015fa\u011f\u0131daki gibi \u00e7al\u0131\u015fmaktayd\u0131k.<\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\nlet Adi = personel.Adi, Soyadi = personel.Soyadi;\r\nconsole.log(Adi, Soyadi);\r\n<\/pre>\n<p>Destructuring \u00f6zelli\u011fi ise bu i\u015flemi daha pratik ve kullan\u0131labilir bir hale getirmektedir;<\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\nlet { Adi, Soyadi } = personel;\r\nconsole.log(Adi, Soyadi);\r\n<\/pre>\n<p>Yukar\u0131daki kod blo\u011funu incelerseniz e\u011fer &#8220;personel&#8221; nesnesini par\u00e7alayacak yap\u0131m\u0131z &#8220;let { Adi, Soyadi }&#8221; \u015feklinde tan\u0131mlanmaktad\u0131r. Burada dikkat edilmesi gereken husus, Destructuring \u00f6zelli\u011fi uygulanan de\u011fi\u015fkendeki property isimleriyle, nesnedeki property isimleri birebir ayn\u0131 olmak zorundad\u0131r.<\/p>\n<p>E\u011fer ki, tan\u0131mlanan de\u011fi\u015fkenlere farkl\u0131 isim vermek istiyorsan\u0131z a\u015fa\u011f\u0131daki gibi bir \u00e7al\u0131\u015fma ger\u00e7ekle\u015ftirilmesi gerekmektedir.<\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\nlet { Adi: adi, Soyadi: soyadi } = personel;\r\nconsole.log(adi, soyadi);\r\n<\/pre>\n<p>Burada g\u00f6rd\u00fc\u011f\u00fcn\u00fcz \u00fczere de\u011fi\u015fkenlere bir nevi alias atama i\u015flemi ger\u00e7ekle\u015ftirilmi\u015ftir. Tabi bu aliaslar atand\u0131klar\u0131 de\u011fi\u015fkenlerin fiziksel isimlerini ezeceklerinden dolay\u0131 kullan\u0131lamaz hale getirmektedirler.<\/p>\n<h3>\u0130\u00e7 Objeler \u0130\u00e7in Destructuring<\/h3>\n<p>Elimizde a\u015fa\u011f\u0131daki gibi nesnemiz oldu\u011funu d\u00fc\u015f\u00fcnelim;<\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\nlet personel = {\r\n    Adi: &quot;Gen\u00e7ay&quot;,\r\n    Soyadi: &quot;Y\u0131ld\u0131z&quot;,\r\n    Memleket: {\r\n        Il: &quot;Artvin&quot;,\r\n        Ilce: &quot;Arhavi&quot;\r\n    }\r\n};\r\n<\/pre>\n<p>Nesne i\u00e7erisindeki &#8220;Memleket&#8221; nesnesini par\u00e7alamak i\u00e7in a\u015fa\u011f\u0131daki gibi bir \u00e7al\u0131\u015fma ger\u00e7ekle\u015ftirilmesi gerekmektedir;<\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\nlet { Memleket: { Il, Ilce } } = personel;\r\nconsole.log(Il, Ilce);\r\n<\/pre>\n<p>\u0130\u015fte bu kadar basit. Di\u011fer propertyleride par\u00e7alayal\u0131m diyorsan\u0131z e\u011fer;<\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\nlet { Memleket: { Il, Ilce }, Adi, Soyadi } = personel;\r\nconsole.log(Il, Ilce, Adi, Soyadi);\r\n<\/pre>\n<p>buyrun sizi k\u0131rmam\u0131\u015f olal\u0131m.<br \/>\nHatta bu \u00e7al\u0131\u015fmay\u0131 alias ile zenginle\u015ftirmekte benden olsun \ud83d\ude42<\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\nlet { Memleket: { Il: il, Ilce: Ilce }, Adi: adi, Soyadi: soyadi } = personel;\r\nconsole.log(il, Ilce, adi, soyadi);\r\n<\/pre>\n<h2>Diziler \u0130\u00e7in Destructuring<\/h2>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\nlet personeller = &#x5B;&quot;Ali&quot;, &quot;Veli&quot;, &quot;Hilmi&quot;];\r\n<\/pre>\n<p>Elimizde yukar\u0131daki gibi bir dizi oldu\u011funu varsayal\u0131m. Normal \u015fartlarda verileri elde etmek i\u00e7in a\u015fa\u011f\u0131daki gibi indexer temelli bir \u00e7al\u0131\u015fma sergiliyorduk.<\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\nlet p1 = personeller&#x5B;0];\r\nlet p2 = personeller&#x5B;1];\r\nlet p3 = personeller&#x5B;2];\r\nconsole.log(p1, p2, p3);\r\n<\/pre>\n<p>Destructuring ile bu i\u015flemi daha pratik bir \u015fekilde yaparsak e\u011fer;<\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\nlet &#x5B;p1, p2, p3] = personeller;\r\nconsole.log(p1, p2, p3);\r\n<\/pre>\n<p>\u015feklinde \u00e7al\u0131\u015fmam\u0131z yeterli olacakt\u0131r. Burada dikkat edilmesi gereken husus, dizilerde Destructuring uyguluyorsak e\u011fer par\u00e7alar\u0131 olu\u015fturan de\u011fi\u015fkenlerin syntax yap\u0131s\u0131nda k\u00f6\u015feli parantez kullan\u0131lmal\u0131d\u0131r.<\/p>\n<h2>\u0130\u00e7 \u0130\u00e7e Diziler \u0130\u00e7in Destructuring<\/h2>\n<p>E\u011fer ki elimizdeki dizi a\u015fa\u011f\u0131daki gibi i\u00e7erisinde ba\u015fka bir dizi bar\u0131nd\u0131r\u0131yorsa;<\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\nlet personeller = &#x5B;&quot;Ali&quot;, &quot;Veli&quot;, &quot;Hilmi&quot;, &#x5B;1, 2, 3]];\r\n<\/pre>\n<p>ve Destructuring ile alt dizideki de\u011ferleride elde etmek istiyorsan\u0131z a\u015fa\u011f\u0131daki gibi \u00e7al\u0131\u015fman\u0131z yeterli olacakt\u0131r.<\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\nlet &#x5B;p1, p2, p3, &#x5B;a1, a2, a3]] = personeller;\r\nconsole.log(p1, p2, p3, a1, a2, a3);\r\n<\/pre>\n<p>Sonraki yaz\u0131lar\u0131mda g\u00f6r\u00fc\u015fmek \u00fczere&#8230;<br \/>\n\u0130yi \u00e7al\u0131\u015fmalar&#8230;<\/p>\n<!-- AddThis Advanced Settings generic via filter on the_content --><!-- AddThis Share Buttons generic via filter on the_content -->","protected":false},"excerpt":{"rendered":"<p>Merhaba, Elimizdeki nesneleri yahut dizileri var olan mevcut yap\u0131lar\u0131ndan daha k\u00fc\u00e7\u00fck par\u00e7alara ay\u0131rmak isteyebiliriz. ECMAScript 6 ile gelen Destructuring \u00f6zelli\u011fi bu iste\u011fimize kar\u015f\u0131l\u0131k olarak nesneleri ya da dizileri par\u00e7alayabilmekte ve bu i\u015flem neticesinde i\u015fimize&#46;&#46;&#46;<!-- AddThis Advanced Settings generic via filter on get_the_excerpt --><!-- AddThis Share Buttons generic via filter on get_the_excerpt --><\/p>\n","protected":false},"author":1,"featured_media":8497,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2443,2145],"tags":[2450,2453,2440,2449,2452,2451,2454],"class_list":["post-8505","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-ecmascript-6","category-node-js","tag-destructuring","tag-diziler-icin-destructuring","tag-ecmascript-6","tag-ecmascript-6-destructuring","tag-ic-ice-diziler-icin-destructuring","tag-ic-objeler-icin-destructuring","tag-objeler-icin-destructuring"],"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/posts\/8505","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/comments?post=8505"}],"version-history":[{"count":10,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/posts\/8505\/revisions"}],"predecessor-version":[{"id":8516,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/posts\/8505\/revisions\/8516"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/media\/8497"}],"wp:attachment":[{"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/media?parent=8505"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/categories?post=8505"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/tags?post=8505"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}