[{"data":1,"prerenderedAt":2329},["ShallowReactive",2],{"post-\u002Ftr\u002Fes6-nedir-ecmascript-2015-nedir":3},{"page":4,"translation":2164,"nav":2180,"related":2311,"random":2316},{"id":5,"title":6,"body":7,"categories":2162,"category":2164,"date":2165,"description":2166,"draft":2167,"extension":2168,"image":2169,"kind":2164,"lang":350,"meta":2170,"navigation":131,"path":2171,"readingTime":187,"seo":2172,"slug":2173,"stem":2174,"tags":2175,"translationKey":2164,"type":2163,"updated":2178,"__hash__":2179},"postsTr\u002Ftr\u002Fes6-nedir-ecmascript-2015-nedir.md","ES6 Nedir? ECMAScript 2015 Nedir?",{"type":8,"value":9,"toc":2137},"minimark",[10,14,62,65,70,73,75,80,95,292,303,331,343,421,423,427,440,558,560,567,573,652,654,660,663,762,764,768,774,869,871,875,878,989,991,995,1002,1059,1061,1065,1082,1143,1145,1149,1152,1322,1324,1328,1339,1607,1609,1613,1620,1730,1732,1736,1750,1853,1855,1859,1873,1990,1992,1996,2000,2038,2044,2050,2094,2098,2104,2118,2120,2125,2133],[11,12,13],"p",{},"ECMAScript (kısaca ES), Ecma International tarafından standartlaştırılmış ve JavaScript'in çekirdek kurallarını belirleyen bir dildir. ES6, JavaScript tarihindeki en büyük, en devrimsel güncellemeleri barındıran dönüm noktasıdır.",[15,16,17,24],"blockquote",{},[11,18,19,20],{},"💡 ",[21,22,23],"strong",{},"Özet (TL;DR):",[25,26,27,34,53],"ul",{},[28,29,30,33],"li",{},[21,31,32],{},"ES6 Nedir?:"," Haziran 2015'te yayınlanan 6. ECMAScript sürümüdür. ECMAScript 2015 olarak da bilinir.",[28,35,36,39,40,44,45,48,49,52],{},[21,37,38],{},"Kilit Yenilikler:"," ",[41,42,43],"code",{},"let","\u002F",[41,46,47],{},"const",", Arrow Functions, Template Literals, Promises, Classes, Rest\u002FSpread (",[41,50,51],{},"...","), Destructuring ve Generators.",[28,54,55,39,58],{},[21,56,57],{},"Motto:",[59,60,61],"em",{},"Modern JavaScript'in doğuşu: Güvenli değişkenler, temiz asenkron akışlar ve yerleşik sınıf yapıları.",[63,64],"hr",{},[66,67,69],"h2",{"id":68},"es6-sürümüyle-gelen-yenilikler","ES6 Sürümüyle Gelen Yenilikler",[11,71,72],{},"ES6, JavaScript'e hem yeni yazım kolaylıkları (syntactic sugar) hem de asenkron programlama ve nesne yönelimli programlama için yerleşik altyapılar kazandırmıştır.",[63,74],{},[76,77,79],"h3",{"id":78},"_1-let-const-blok-kapsamı","1. Let & Const (Blok Kapsamı)",[11,81,82,83,86,87,90,91,94],{},"ES5'e kadar JavaScript'te sadece global kapsam (scope) ve fonksiyon kapsamı (",[41,84,85],{},"var"," ile tanımlanan değişkenler) bulunuyordu. ES6 ile birlikte süslü parantezler ",[41,88,89],{},"{}"," arasında geçerli olan ",[21,92,93],{},"blok kapsamı (block scope)"," hayatımıza girdi.",[96,97,102],"pre",{"className":98,"code":99,"language":100,"meta":101,"style":101},"language-javascript shiki shiki-themes github-light github-dark","var b = 10;\n\nfunction myFunction() {\n    let c = 20;\n    console.log('değer 1:', c); \u002F\u002F 20\n    if (b === 10 && c === 20) {\n        let d = 30;\n        console.log(\"değer 2:\", d); \u002F\u002F 30\n    }\n    console.log(\"değer 1\", c); \u002F\u002F 20\n    \u002F\u002F console.log(\"değer 2\", d); \u002F\u002F Hata fırlatır! d sadece if bloğunda geçerlidir.\n}\nmyFunction();\n","javascript","",[41,103,104,126,133,146,162,185,211,227,246,252,268,277,283],{"__ignoreMap":101},[105,106,109,112,116,119,123],"span",{"class":107,"line":108},"line",1,[105,110,85],{"class":111},"szBVR",[105,113,115],{"class":114},"sVt8B"," b ",[105,117,118],{"class":111},"=",[105,120,122],{"class":121},"sj4cs"," 10",[105,124,125],{"class":114},";\n",[105,127,129],{"class":107,"line":128},2,[105,130,132],{"emptyLinePlaceholder":131},true,"\n",[105,134,136,139,143],{"class":107,"line":135},3,[105,137,138],{"class":111},"function",[105,140,142],{"class":141},"sScJk"," myFunction",[105,144,145],{"class":114},"() {\n",[105,147,149,152,155,157,160],{"class":107,"line":148},4,[105,150,151],{"class":111},"    let",[105,153,154],{"class":114}," c ",[105,156,118],{"class":111},[105,158,159],{"class":121}," 20",[105,161,125],{"class":114},[105,163,165,168,171,174,178,181],{"class":107,"line":164},5,[105,166,167],{"class":114},"    console.",[105,169,170],{"class":141},"log",[105,172,173],{"class":114},"(",[105,175,177],{"class":176},"sZZnC","'değer 1:'",[105,179,180],{"class":114},", c); ",[105,182,184],{"class":183},"sJ8bj","\u002F\u002F 20\n",[105,186,188,191,194,197,199,202,204,206,208],{"class":107,"line":187},6,[105,189,190],{"class":111},"    if",[105,192,193],{"class":114}," (b ",[105,195,196],{"class":111},"===",[105,198,122],{"class":121},[105,200,201],{"class":111}," &&",[105,203,154],{"class":114},[105,205,196],{"class":111},[105,207,159],{"class":121},[105,209,210],{"class":114},") {\n",[105,212,214,217,220,222,225],{"class":107,"line":213},7,[105,215,216],{"class":111},"        let",[105,218,219],{"class":114}," d ",[105,221,118],{"class":111},[105,223,224],{"class":121}," 30",[105,226,125],{"class":114},[105,228,230,233,235,237,240,243],{"class":107,"line":229},8,[105,231,232],{"class":114},"        console.",[105,234,170],{"class":141},[105,236,173],{"class":114},[105,238,239],{"class":176},"\"değer 2:\"",[105,241,242],{"class":114},", d); ",[105,244,245],{"class":183},"\u002F\u002F 30\n",[105,247,249],{"class":107,"line":248},9,[105,250,251],{"class":114},"    }\n",[105,253,255,257,259,261,264,266],{"class":107,"line":254},10,[105,256,167],{"class":114},[105,258,170],{"class":141},[105,260,173],{"class":114},[105,262,263],{"class":176},"\"değer 1\"",[105,265,180],{"class":114},[105,267,184],{"class":183},[105,269,271,274],{"class":107,"line":270},11,[105,272,273],{"class":183},"    \u002F\u002F console.log(\"değer 2\", d);",[105,275,276],{"class":183}," \u002F\u002F Hata fırlatır! d sadece if bloğunda geçerlidir.\n",[105,278,280],{"class":107,"line":279},12,[105,281,282],{"class":114},"}\n",[105,284,286,289],{"class":107,"line":285},13,[105,287,288],{"class":141},"myFunction",[105,290,291],{"class":114},"();\n",[11,293,294,296,297,299,300,302],{},[41,295,47],{}," da ",[41,298,43],{}," ile benzer şekilde blok kapsamına sahiptir. Ancak ",[41,301,47],{}," ile tanımlanan değişkenlere tanımlandığı an değer atanmalıdır ve bu değer daha sonra yeniden atanamaz (re-assigned):",[96,304,306],{"className":98,"code":305,"language":100,"meta":101,"style":101},"const PI = 3.14159;\n\u002F\u002F PI = 3; \u002F\u002F Hata: Assignment to constant variable.\n",[41,307,308,323],{"__ignoreMap":101},[105,309,310,312,315,318,321],{"class":107,"line":108},[105,311,47],{"class":111},[105,313,314],{"class":121}," PI",[105,316,317],{"class":111}," =",[105,319,320],{"class":121}," 3.14159",[105,322,125],{"class":114},[105,324,325,328],{"class":107,"line":128},[105,326,327],{"class":183},"\u002F\u002F PI = 3;",[105,329,330],{"class":183}," \u002F\u002F Hata: Assignment to constant variable.\n",[332,333,335,337,338,337,340,342],"h4",{"id":334},"var-vs-let-vs-const-karşılaştırması",[41,336,85],{}," vs ",[41,339,43],{},[41,341,47],{}," Karşılaştırması",[344,345,346,369],"table",{},[347,348,349],"thead",{},[350,351,352,357,361,365],"tr",{},[353,354,356],"th",{"align":355},"left","Özellik",[353,358,359],{"align":355},[41,360,85],{},[353,362,363],{"align":355},[41,364,43],{},[353,366,367],{"align":355},[41,368,47],{},[370,371,372,388,403],"tbody",{},[350,373,374,380,383,386],{},[375,376,377],"td",{"align":355},[21,378,379],{},"Kapsam (Scope)",[375,381,382],{"align":355},"Fonksiyon Kapsamı (Function)",[375,384,385],{"align":355},"Blok Kapsamı (Block)",[375,387,385],{"align":355},[350,389,390,395,398,400],{},[375,391,392],{"align":355},[21,393,394],{},"Yeniden Değer Atama",[375,396,397],{"align":355},"Serbest",[375,399,397],{"align":355},[375,401,402],{"align":355},"Yasak",[350,404,405,410,416,419],{},[375,406,407],{"align":355},[21,408,409],{},"Hoisting Tepkisi",[375,411,412,415],{"align":355},[41,413,414],{},"undefined"," olarak tanımlanır",[375,417,418],{"align":355},"Hata verir (Temporal Dead Zone)",[375,420,418],{"align":355},[63,422],{},[76,424,426],{"id":425},"_2-forof-döngüsü","2. For...Of Döngüsü",[11,428,429,432,433,436,437,439],{},[41,430,431],{},"for...of"," döngüsü, bir array veya iterable nesnenin elemanları üzerinde doğrudan değerler üzerinden dönebilmemizi sağlar. ",[41,434,435],{},"for...in"," döngüsü sadece indeksleri dönerken, ",[41,438,431],{}," doğrudan elemanın kendisini sunar:",[96,441,443],{"className":98,"code":442,"language":100,"meta":101,"style":101},"const arr = [\"A\", \"B\", \"C\"];\n\n\u002F\u002F for...in kullanımı (İndeks döner)\nfor (let i in arr) {\n    console.log(arr[i]); \u002F\u002F A, B, C\n}\n\n\u002F\u002F for...of kullanımı (Doğrudan değer döner)\nfor (const value of arr) {\n    console.log(value); \u002F\u002F A, B, C\n}\n",[41,444,445,474,478,483,502,514,518,522,527,543,554],{"__ignoreMap":101},[105,446,447,449,452,454,457,460,463,466,468,471],{"class":107,"line":108},[105,448,47],{"class":111},[105,450,451],{"class":121}," arr",[105,453,317],{"class":111},[105,455,456],{"class":114}," [",[105,458,459],{"class":176},"\"A\"",[105,461,462],{"class":114},", ",[105,464,465],{"class":176},"\"B\"",[105,467,462],{"class":114},[105,469,470],{"class":176},"\"C\"",[105,472,473],{"class":114},"];\n",[105,475,476],{"class":107,"line":128},[105,477,132],{"emptyLinePlaceholder":131},[105,479,480],{"class":107,"line":135},[105,481,482],{"class":183},"\u002F\u002F for...in kullanımı (İndeks döner)\n",[105,484,485,488,491,493,496,499],{"class":107,"line":148},[105,486,487],{"class":111},"for",[105,489,490],{"class":114}," (",[105,492,43],{"class":111},[105,494,495],{"class":114}," i ",[105,497,498],{"class":111},"in",[105,500,501],{"class":114}," arr) {\n",[105,503,504,506,508,511],{"class":107,"line":164},[105,505,167],{"class":114},[105,507,170],{"class":141},[105,509,510],{"class":114},"(arr[i]); ",[105,512,513],{"class":183},"\u002F\u002F A, B, C\n",[105,515,516],{"class":107,"line":187},[105,517,282],{"class":114},[105,519,520],{"class":107,"line":213},[105,521,132],{"emptyLinePlaceholder":131},[105,523,524],{"class":107,"line":229},[105,525,526],{"class":183},"\u002F\u002F for...of kullanımı (Doğrudan değer döner)\n",[105,528,529,531,533,535,538,541],{"class":107,"line":248},[105,530,487],{"class":111},[105,532,490],{"class":114},[105,534,47],{"class":111},[105,536,537],{"class":121}," value",[105,539,540],{"class":111}," of",[105,542,501],{"class":114},[105,544,545,547,549,552],{"class":107,"line":254},[105,546,167],{"class":114},[105,548,170],{"class":141},[105,550,551],{"class":114},"(value); ",[105,553,513],{"class":183},[105,555,556],{"class":107,"line":270},[105,557,282],{"class":114},[63,559],{},[76,561,563,564,566],{"id":562},"_3-rest-operatörü","3. Rest Operatörü (",[41,565,51],{},")",[11,568,569,570,572],{},"Bir fonksiyon parametresinden önce ",[41,571,51],{}," koyarsanız, gönderilen argümanların geri kalanını tek bir dizi (array) altında toplar:",[96,574,576],{"className":98,"code":575,"language":100,"meta":101,"style":101},"function format(pattern, ...params) {\n    return { pattern, params };\n}\nconsole.log(format(\"test\", 1, 2, 3));\n\u002F\u002F Çıktı: { pattern: \"test\", params: [ 1, 2, 3 ] }\n",[41,577,578,600,608,612,647],{"__ignoreMap":101},[105,579,580,582,585,587,591,593,595,598],{"class":107,"line":108},[105,581,138],{"class":111},[105,583,584],{"class":141}," format",[105,586,173],{"class":114},[105,588,590],{"class":589},"s4XuR","pattern",[105,592,462],{"class":114},[105,594,51],{"class":111},[105,596,597],{"class":589},"params",[105,599,210],{"class":114},[105,601,602,605],{"class":107,"line":128},[105,603,604],{"class":111},"    return",[105,606,607],{"class":114}," { pattern, params };\n",[105,609,610],{"class":107,"line":135},[105,611,282],{"class":114},[105,613,614,617,619,621,624,626,629,631,634,636,639,641,644],{"class":107,"line":148},[105,615,616],{"class":114},"console.",[105,618,170],{"class":141},[105,620,173],{"class":114},[105,622,623],{"class":141},"format",[105,625,173],{"class":114},[105,627,628],{"class":176},"\"test\"",[105,630,462],{"class":114},[105,632,633],{"class":121},"1",[105,635,462],{"class":114},[105,637,638],{"class":121},"2",[105,640,462],{"class":114},[105,642,643],{"class":121},"3",[105,645,646],{"class":114},"));\n",[105,648,649],{"class":107,"line":164},[105,650,651],{"class":183},"\u002F\u002F Çıktı: { pattern: \"test\", params: [ 1, 2, 3 ] }\n",[63,653],{},[76,655,657,658,566],{"id":656},"_4-spread-dağıtma-operatörü","4. Spread (Dağıtma) Operatörü (",[41,659,51],{},[11,661,662],{},"Syntax olarak Rest operatörüyle tamamen aynı olsa da işlevi tam tersidir. Bir diziyi veya nesneyi tekil elemanlarına ayırarak kopyalar veya birleştirir:",[96,664,666],{"className":98,"code":665,"language":100,"meta":101,"style":101},"let arr1 = [1, 2, 3];\nlet arr2 = [4, 5];\nlet newArr = [...arr1, ...arr2]; \u002F\u002F [1, 2, 3, 4, 5]\n\nconsole.log(Math.max(...arr1)); \u002F\u002F Math.max(1, 2, 3) olarak çalışır ve 3 döner\n",[41,667,668,691,712,736,740],{"__ignoreMap":101},[105,669,670,672,675,677,679,681,683,685,687,689],{"class":107,"line":108},[105,671,43],{"class":111},[105,673,674],{"class":114}," arr1 ",[105,676,118],{"class":111},[105,678,456],{"class":114},[105,680,633],{"class":121},[105,682,462],{"class":114},[105,684,638],{"class":121},[105,686,462],{"class":114},[105,688,643],{"class":121},[105,690,473],{"class":114},[105,692,693,695,698,700,702,705,707,710],{"class":107,"line":128},[105,694,43],{"class":111},[105,696,697],{"class":114}," arr2 ",[105,699,118],{"class":111},[105,701,456],{"class":114},[105,703,704],{"class":121},"4",[105,706,462],{"class":114},[105,708,709],{"class":121},"5",[105,711,473],{"class":114},[105,713,714,716,719,721,723,725,728,730,733],{"class":107,"line":135},[105,715,43],{"class":111},[105,717,718],{"class":114}," newArr ",[105,720,118],{"class":111},[105,722,456],{"class":114},[105,724,51],{"class":111},[105,726,727],{"class":114},"arr1, ",[105,729,51],{"class":111},[105,731,732],{"class":114},"arr2]; ",[105,734,735],{"class":183},"\u002F\u002F [1, 2, 3, 4, 5]\n",[105,737,738],{"class":107,"line":148},[105,739,132],{"emptyLinePlaceholder":131},[105,741,742,744,746,749,752,754,756,759],{"class":107,"line":164},[105,743,616],{"class":114},[105,745,170],{"class":141},[105,747,748],{"class":114},"(Math.",[105,750,751],{"class":141},"max",[105,753,173],{"class":114},[105,755,51],{"class":111},[105,757,758],{"class":114},"arr1)); ",[105,760,761],{"class":183},"\u002F\u002F Math.max(1, 2, 3) olarak çalışır ve 3 döner\n",[63,763],{},[76,765,767],{"id":766},"_5-varsayılan-parametreler-default-parameters","5. Varsayılan Parametreler (Default Parameters)",[11,769,770,771,773],{},"ES6 öncesinde fonksiyonlara gönderilmeyen isteğe bağlı parametreler için fonksiyon içinde ",[41,772,414],{}," kontrolleri yapılıyordu. Artık doğrudan fonksiyon imzasında varsayılan değer atanabiliyor:",[96,775,777],{"className":98,"code":776,"language":100,"meta":101,"style":101},"function greet(name, message = \"Merhaba\") {\n    console.log(`${message}, ${name}`);\n}\n\ngreet(\"Evren\"); \u002F\u002F Merhaba, Evren\ngreet(\"Evren\", \"Günaydın\"); \u002F\u002F Günaydın, Evren\n",[41,778,779,803,827,831,835,851],{"__ignoreMap":101},[105,780,781,783,786,788,791,793,796,798,801],{"class":107,"line":108},[105,782,138],{"class":111},[105,784,785],{"class":141}," greet",[105,787,173],{"class":114},[105,789,790],{"class":589},"name",[105,792,462],{"class":114},[105,794,795],{"class":589},"message",[105,797,317],{"class":111},[105,799,800],{"class":176}," \"Merhaba\"",[105,802,210],{"class":114},[105,804,805,807,809,811,814,816,819,821,824],{"class":107,"line":128},[105,806,167],{"class":114},[105,808,170],{"class":141},[105,810,173],{"class":114},[105,812,813],{"class":176},"`${",[105,815,795],{"class":114},[105,817,818],{"class":176},"}, ${",[105,820,790],{"class":114},[105,822,823],{"class":176},"}`",[105,825,826],{"class":114},");\n",[105,828,829],{"class":107,"line":135},[105,830,282],{"class":114},[105,832,833],{"class":107,"line":148},[105,834,132],{"emptyLinePlaceholder":131},[105,836,837,840,842,845,848],{"class":107,"line":164},[105,838,839],{"class":141},"greet",[105,841,173],{"class":114},[105,843,844],{"class":176},"\"Evren\"",[105,846,847],{"class":114},"); ",[105,849,850],{"class":183},"\u002F\u002F Merhaba, Evren\n",[105,852,853,855,857,859,861,864,866],{"class":107,"line":187},[105,854,839],{"class":141},[105,856,173],{"class":114},[105,858,844],{"class":176},[105,860,462],{"class":114},[105,862,863],{"class":176},"\"Günaydın\"",[105,865,847],{"class":114},[105,867,868],{"class":183},"\u002F\u002F Günaydın, Evren\n",[63,870],{},[76,872,874],{"id":873},"_6-destructuring-seçmeli-atama","6. Destructuring (Seçmeli Atama)",[11,876,877],{},"Bir array veya object (nesne) içerisindeki alanları tek hamlede çıkartıp değişkenlere atamamızı sağlar:",[96,879,881],{"className":98,"code":880,"language":100,"meta":101,"style":101},"\u002F\u002F Array Destructuring\nconst arr = [1, 2];\nconst [x, y] = arr; \u002F\u002F x = 1, y = 2\n\n\u002F\u002F Object Destructuring\nconst user = { name: \"Ahmet\", age: 30 };\nconst { name, age } = user; \u002F\u002F name = \"Ahmet\", age = 30\n",[41,882,883,888,906,931,935,940,964],{"__ignoreMap":101},[105,884,885],{"class":107,"line":108},[105,886,887],{"class":183},"\u002F\u002F Array Destructuring\n",[105,889,890,892,894,896,898,900,902,904],{"class":107,"line":128},[105,891,47],{"class":111},[105,893,451],{"class":121},[105,895,317],{"class":111},[105,897,456],{"class":114},[105,899,633],{"class":121},[105,901,462],{"class":114},[105,903,638],{"class":121},[105,905,473],{"class":114},[105,907,908,910,912,915,917,920,923,925,928],{"class":107,"line":135},[105,909,47],{"class":111},[105,911,456],{"class":114},[105,913,914],{"class":121},"x",[105,916,462],{"class":114},[105,918,919],{"class":121},"y",[105,921,922],{"class":114},"] ",[105,924,118],{"class":111},[105,926,927],{"class":114}," arr; ",[105,929,930],{"class":183},"\u002F\u002F x = 1, y = 2\n",[105,932,933],{"class":107,"line":148},[105,934,132],{"emptyLinePlaceholder":131},[105,936,937],{"class":107,"line":164},[105,938,939],{"class":183},"\u002F\u002F Object Destructuring\n",[105,941,942,944,947,949,952,955,958,961],{"class":107,"line":187},[105,943,47],{"class":111},[105,945,946],{"class":121}," user",[105,948,317],{"class":111},[105,950,951],{"class":114}," { name: ",[105,953,954],{"class":176},"\"Ahmet\"",[105,956,957],{"class":114},", age: ",[105,959,960],{"class":121},"30",[105,962,963],{"class":114}," };\n",[105,965,966,968,971,973,975,978,981,983,986],{"class":107,"line":213},[105,967,47],{"class":111},[105,969,970],{"class":114}," { ",[105,972,790],{"class":121},[105,974,462],{"class":114},[105,976,977],{"class":121},"age",[105,979,980],{"class":114}," } ",[105,982,118],{"class":111},[105,984,985],{"class":114}," user; ",[105,987,988],{"class":183},"\u002F\u002F name = \"Ahmet\", age = 30\n",[63,990],{},[76,992,994],{"id":993},"_7-template-literals-şablon-dizgileri","7. Template Literals (Şablon Dizgileri)",[11,996,997,998,1001],{},"Ters tırnak (backtick ` `) işareti kullanarak string ifadelerin içerisine değişkenleri ",[41,999,1000],{},"${degisken}"," biçiminde gömmemizi sağlar ve çok satırlı metin yazımını kolaylaştırır:",[96,1003,1005],{"className":98,"code":1004,"language":100,"meta":101,"style":101},"let a = 1, b = 2;\nconsole.log(`a'nın değeri: ${a}, b'nin değeri: ${b}`); \n\u002F\u002F Çıktı: a'nın değeri: 1, b'nin değeri: 2\n",[41,1006,1007,1029,1054],{"__ignoreMap":101},[105,1008,1009,1011,1014,1016,1019,1022,1024,1027],{"class":107,"line":108},[105,1010,43],{"class":111},[105,1012,1013],{"class":114}," a ",[105,1015,118],{"class":111},[105,1017,1018],{"class":121}," 1",[105,1020,1021],{"class":114},", b ",[105,1023,118],{"class":111},[105,1025,1026],{"class":121}," 2",[105,1028,125],{"class":114},[105,1030,1031,1033,1035,1037,1040,1043,1046,1049,1051],{"class":107,"line":128},[105,1032,616],{"class":114},[105,1034,170],{"class":141},[105,1036,173],{"class":114},[105,1038,1039],{"class":176},"`a'nın değeri: ${",[105,1041,1042],{"class":114},"a",[105,1044,1045],{"class":176},"}, b'nin değeri: ${",[105,1047,1048],{"class":114},"b",[105,1050,823],{"class":176},[105,1052,1053],{"class":114},"); \n",[105,1055,1056],{"class":107,"line":135},[105,1057,1058],{"class":183},"\u002F\u002F Çıktı: a'nın değeri: 1, b'nin değeri: 2\n",[63,1060],{},[76,1062,1064],{"id":1063},"_8-arrow-functions-ok-fonksiyonları","8. Arrow Functions (Ok Fonksiyonları)",[11,1066,1067,1068,1071,1072,1075,1076,1078,1079,1081],{},"Ok fonksiyonları (",[41,1069,1070],{},"=>","), fonksiyon tanımlamayı kısaltmasının yanında asıl önemli farkını ",[41,1073,1074],{},"this"," bağlamında (context) gösterir. Ok fonksiyonlarının kendi ",[41,1077,1074],{}," bağlamı yoktur; tanımlandıkları lexical scope'taki ",[41,1080,1074],{}," değerini miras alırlar.",[96,1083,1085],{"className":98,"code":1084,"language":100,"meta":101,"style":101},"const multiply = (x, y) => x * y;\nconsole.log(multiply(3, 5)); \u002F\u002F 15\n",[41,1086,1087,1118],{"__ignoreMap":101},[105,1088,1089,1091,1094,1096,1098,1100,1102,1104,1107,1109,1112,1115],{"class":107,"line":108},[105,1090,47],{"class":111},[105,1092,1093],{"class":141}," multiply",[105,1095,317],{"class":111},[105,1097,490],{"class":114},[105,1099,914],{"class":589},[105,1101,462],{"class":114},[105,1103,919],{"class":589},[105,1105,1106],{"class":114},") ",[105,1108,1070],{"class":111},[105,1110,1111],{"class":114}," x ",[105,1113,1114],{"class":111},"*",[105,1116,1117],{"class":114}," y;\n",[105,1119,1120,1122,1124,1126,1129,1131,1133,1135,1137,1140],{"class":107,"line":128},[105,1121,616],{"class":114},[105,1123,170],{"class":141},[105,1125,173],{"class":114},[105,1127,1128],{"class":141},"multiply",[105,1130,173],{"class":114},[105,1132,643],{"class":121},[105,1134,462],{"class":114},[105,1136,709],{"class":121},[105,1138,1139],{"class":114},")); ",[105,1141,1142],{"class":183},"\u002F\u002F 15\n",[63,1144],{},[76,1146,1148],{"id":1147},"_9-promises-sözler","9. Promises (Sözler)",[11,1150,1151],{},"Asenkron işlemleri yönetmek için eskiden kullanılan callback cehennemini (callback hell) engellemek amacıyla gelen yerleşik asenkron çözüm modelidir:",[96,1153,1155],{"className":98,"code":1154,"language":100,"meta":101,"style":101},"function asyncFunc() {\n    return new Promise((resolve, reject) => {\n        let success = true;\n        if (success) {\n            resolve(\"Veri başarıyla geldi.\");\n        } else {\n            reject(\"Hata oluştu.\");\n        }\n    });\n}\n\nasyncFunc()\n    .then(result => console.log(result))\n    .catch(error => console.error(error));\n",[41,1156,1157,1166,1194,1208,1216,1228,1238,1250,1255,1260,1264,1268,1276,1300],{"__ignoreMap":101},[105,1158,1159,1161,1164],{"class":107,"line":108},[105,1160,138],{"class":111},[105,1162,1163],{"class":141}," asyncFunc",[105,1165,145],{"class":114},[105,1167,1168,1170,1173,1176,1179,1182,1184,1187,1189,1191],{"class":107,"line":128},[105,1169,604],{"class":111},[105,1171,1172],{"class":111}," new",[105,1174,1175],{"class":121}," Promise",[105,1177,1178],{"class":114},"((",[105,1180,1181],{"class":589},"resolve",[105,1183,462],{"class":114},[105,1185,1186],{"class":589},"reject",[105,1188,1106],{"class":114},[105,1190,1070],{"class":111},[105,1192,1193],{"class":114}," {\n",[105,1195,1196,1198,1201,1203,1206],{"class":107,"line":135},[105,1197,216],{"class":111},[105,1199,1200],{"class":114}," success ",[105,1202,118],{"class":111},[105,1204,1205],{"class":121}," true",[105,1207,125],{"class":114},[105,1209,1210,1213],{"class":107,"line":148},[105,1211,1212],{"class":111},"        if",[105,1214,1215],{"class":114}," (success) {\n",[105,1217,1218,1221,1223,1226],{"class":107,"line":164},[105,1219,1220],{"class":141},"            resolve",[105,1222,173],{"class":114},[105,1224,1225],{"class":176},"\"Veri başarıyla geldi.\"",[105,1227,826],{"class":114},[105,1229,1230,1233,1236],{"class":107,"line":187},[105,1231,1232],{"class":114},"        } ",[105,1234,1235],{"class":111},"else",[105,1237,1193],{"class":114},[105,1239,1240,1243,1245,1248],{"class":107,"line":213},[105,1241,1242],{"class":141},"            reject",[105,1244,173],{"class":114},[105,1246,1247],{"class":176},"\"Hata oluştu.\"",[105,1249,826],{"class":114},[105,1251,1252],{"class":107,"line":229},[105,1253,1254],{"class":114},"        }\n",[105,1256,1257],{"class":107,"line":248},[105,1258,1259],{"class":114},"    });\n",[105,1261,1262],{"class":107,"line":254},[105,1263,282],{"class":114},[105,1265,1266],{"class":107,"line":270},[105,1267,132],{"emptyLinePlaceholder":131},[105,1269,1270,1273],{"class":107,"line":279},[105,1271,1272],{"class":141},"asyncFunc",[105,1274,1275],{"class":114},"()\n",[105,1277,1278,1281,1284,1286,1289,1292,1295,1297],{"class":107,"line":285},[105,1279,1280],{"class":114},"    .",[105,1282,1283],{"class":141},"then",[105,1285,173],{"class":114},[105,1287,1288],{"class":589},"result",[105,1290,1291],{"class":111}," =>",[105,1293,1294],{"class":114}," console.",[105,1296,170],{"class":141},[105,1298,1299],{"class":114},"(result))\n",[105,1301,1303,1305,1308,1310,1313,1315,1317,1319],{"class":107,"line":1302},14,[105,1304,1280],{"class":114},[105,1306,1307],{"class":141},"catch",[105,1309,173],{"class":114},[105,1311,1312],{"class":589},"error",[105,1314,1291],{"class":111},[105,1316,1294],{"class":114},[105,1318,1312],{"class":141},[105,1320,1321],{"class":114},"(error));\n",[63,1323],{},[76,1325,1327],{"id":1326},"_10-sınıflar-classes","10. Sınıflar (Classes)",[11,1329,1330,1331,1334,1335,1338],{},"ES6 öncesinde prototip tabanlı (",[41,1332,1333],{},"Object.prototype",") miras alma yöntemleriyle simüle edilen nesne yönelimli programlama, artık resmi ",[41,1336,1337],{},"class"," anahtar kelimesiyle standart bir yapıya kavuşmuştur:",[96,1340,1342],{"className":98,"code":1341,"language":100,"meta":101,"style":101},"class Point {\n    constructor(x, y) {\n        this.x = x;\n        this.y = y;\n    }\n    toString() {\n        return `(${this.x}, ${this.y})`;\n    }\n}\n\nclass ColorPoint extends Point {\n    constructor(x, y, color) {\n        super(x, y); \u002F\u002F Üst sınıfın kurucusunu çağırır\n        this.color = color;\n    }\n    toString() {\n        return `${super.toString()} rengi: ${this.color}`;\n    }\n}\n\nconst cp = new ColorPoint(25, 8, \"yeşil\");\nconsole.log(cp.toString()); \u002F\u002F (25, 8) rengi: yeşil\n",[41,1343,1344,1353,1368,1381,1392,1396,1403,1431,1435,1439,1443,1457,1476,1487,1499,1504,1511,1543,1548,1553,1558,1589],{"__ignoreMap":101},[105,1345,1346,1348,1351],{"class":107,"line":108},[105,1347,1337],{"class":111},[105,1349,1350],{"class":141}," Point",[105,1352,1193],{"class":114},[105,1354,1355,1358,1360,1362,1364,1366],{"class":107,"line":128},[105,1356,1357],{"class":111},"    constructor",[105,1359,173],{"class":114},[105,1361,914],{"class":589},[105,1363,462],{"class":114},[105,1365,919],{"class":589},[105,1367,210],{"class":114},[105,1369,1370,1373,1376,1378],{"class":107,"line":135},[105,1371,1372],{"class":121},"        this",[105,1374,1375],{"class":114},".x ",[105,1377,118],{"class":111},[105,1379,1380],{"class":114}," x;\n",[105,1382,1383,1385,1388,1390],{"class":107,"line":148},[105,1384,1372],{"class":121},[105,1386,1387],{"class":114},".y ",[105,1389,118],{"class":111},[105,1391,1117],{"class":114},[105,1393,1394],{"class":107,"line":164},[105,1395,251],{"class":114},[105,1397,1398,1401],{"class":107,"line":187},[105,1399,1400],{"class":141},"    toString",[105,1402,145],{"class":114},[105,1404,1405,1408,1411,1413,1416,1418,1420,1422,1424,1426,1429],{"class":107,"line":213},[105,1406,1407],{"class":111},"        return",[105,1409,1410],{"class":176}," `(${",[105,1412,1074],{"class":121},[105,1414,1415],{"class":176},".",[105,1417,914],{"class":114},[105,1419,818],{"class":176},[105,1421,1074],{"class":121},[105,1423,1415],{"class":176},[105,1425,919],{"class":114},[105,1427,1428],{"class":176},"})`",[105,1430,125],{"class":114},[105,1432,1433],{"class":107,"line":229},[105,1434,251],{"class":114},[105,1436,1437],{"class":107,"line":248},[105,1438,282],{"class":114},[105,1440,1441],{"class":107,"line":254},[105,1442,132],{"emptyLinePlaceholder":131},[105,1444,1445,1447,1450,1453,1455],{"class":107,"line":270},[105,1446,1337],{"class":111},[105,1448,1449],{"class":141}," ColorPoint",[105,1451,1452],{"class":111}," extends",[105,1454,1350],{"class":141},[105,1456,1193],{"class":114},[105,1458,1459,1461,1463,1465,1467,1469,1471,1474],{"class":107,"line":279},[105,1460,1357],{"class":111},[105,1462,173],{"class":114},[105,1464,914],{"class":589},[105,1466,462],{"class":114},[105,1468,919],{"class":589},[105,1470,462],{"class":114},[105,1472,1473],{"class":589},"color",[105,1475,210],{"class":114},[105,1477,1478,1481,1484],{"class":107,"line":285},[105,1479,1480],{"class":121},"        super",[105,1482,1483],{"class":114},"(x, y); ",[105,1485,1486],{"class":183},"\u002F\u002F Üst sınıfın kurucusunu çağırır\n",[105,1488,1489,1491,1494,1496],{"class":107,"line":1302},[105,1490,1372],{"class":121},[105,1492,1493],{"class":114},".color ",[105,1495,118],{"class":111},[105,1497,1498],{"class":114}," color;\n",[105,1500,1502],{"class":107,"line":1501},15,[105,1503,251],{"class":114},[105,1505,1507,1509],{"class":107,"line":1506},16,[105,1508,1400],{"class":141},[105,1510,145],{"class":114},[105,1512,1514,1516,1519,1522,1524,1527,1530,1533,1535,1537,1539,1541],{"class":107,"line":1513},17,[105,1515,1407],{"class":111},[105,1517,1518],{"class":176}," `${",[105,1520,1521],{"class":121},"super",[105,1523,1415],{"class":176},[105,1525,1526],{"class":141},"toString",[105,1528,1529],{"class":176},"()",[105,1531,1532],{"class":176},"} rengi: ${",[105,1534,1074],{"class":121},[105,1536,1415],{"class":176},[105,1538,1473],{"class":114},[105,1540,823],{"class":176},[105,1542,125],{"class":114},[105,1544,1546],{"class":107,"line":1545},18,[105,1547,251],{"class":114},[105,1549,1551],{"class":107,"line":1550},19,[105,1552,282],{"class":114},[105,1554,1556],{"class":107,"line":1555},20,[105,1557,132],{"emptyLinePlaceholder":131},[105,1559,1561,1563,1566,1568,1570,1572,1574,1577,1579,1582,1584,1587],{"class":107,"line":1560},21,[105,1562,47],{"class":111},[105,1564,1565],{"class":121}," cp",[105,1567,317],{"class":111},[105,1569,1172],{"class":111},[105,1571,1449],{"class":141},[105,1573,173],{"class":114},[105,1575,1576],{"class":121},"25",[105,1578,462],{"class":114},[105,1580,1581],{"class":121},"8",[105,1583,462],{"class":114},[105,1585,1586],{"class":176},"\"yeşil\"",[105,1588,826],{"class":114},[105,1590,1592,1594,1596,1599,1601,1604],{"class":107,"line":1591},22,[105,1593,616],{"class":114},[105,1595,170],{"class":141},[105,1597,1598],{"class":114},"(cp.",[105,1600,1526],{"class":141},[105,1602,1603],{"class":114},"()); ",[105,1605,1606],{"class":183},"\u002F\u002F (25, 8) rengi: yeşil\n",[63,1608],{},[76,1610,1612],{"id":1611},"_11-generators-üreticiler","11. Generators (Üreticiler)",[11,1614,1615,1616,1619],{},"Generator fonksiyonlar, çalışması istenildiği an durdurulabilen (yield) ve daha sonra kaldığı yerden devam ettirilebilen özel fonksiyonlardır. ",[41,1617,1618],{},"function*"," ifadesiyle tanımlanırlar:",[96,1621,1623],{"className":98,"code":1622,"language":100,"meta":101,"style":101},"function* genFunc() {\n    console.log('Birinci');\n    yield 1;\n    console.log('İkinci');\n    yield 2;\n}\n\nconst genObj = genFunc();\nconsole.log(genObj.next()); \u002F\u002F \"Birinci\" yazar, { value: 1, done: false } döner.\nconsole.log(genObj.next()); \u002F\u002F \"İkinci\" yazar, { value: 2, done: false } döner.\n",[41,1624,1625,1634,1647,1656,1669,1677,1681,1685,1698,1715],{"__ignoreMap":101},[105,1626,1627,1629,1632],{"class":107,"line":108},[105,1628,1618],{"class":111},[105,1630,1631],{"class":141}," genFunc",[105,1633,145],{"class":114},[105,1635,1636,1638,1640,1642,1645],{"class":107,"line":128},[105,1637,167],{"class":114},[105,1639,170],{"class":141},[105,1641,173],{"class":114},[105,1643,1644],{"class":176},"'Birinci'",[105,1646,826],{"class":114},[105,1648,1649,1652,1654],{"class":107,"line":135},[105,1650,1651],{"class":111},"    yield",[105,1653,1018],{"class":121},[105,1655,125],{"class":114},[105,1657,1658,1660,1662,1664,1667],{"class":107,"line":148},[105,1659,167],{"class":114},[105,1661,170],{"class":141},[105,1663,173],{"class":114},[105,1665,1666],{"class":176},"'İkinci'",[105,1668,826],{"class":114},[105,1670,1671,1673,1675],{"class":107,"line":164},[105,1672,1651],{"class":111},[105,1674,1026],{"class":121},[105,1676,125],{"class":114},[105,1678,1679],{"class":107,"line":187},[105,1680,282],{"class":114},[105,1682,1683],{"class":107,"line":213},[105,1684,132],{"emptyLinePlaceholder":131},[105,1686,1687,1689,1692,1694,1696],{"class":107,"line":229},[105,1688,47],{"class":111},[105,1690,1691],{"class":121}," genObj",[105,1693,317],{"class":111},[105,1695,1631],{"class":141},[105,1697,291],{"class":114},[105,1699,1700,1702,1704,1707,1710,1712],{"class":107,"line":248},[105,1701,616],{"class":114},[105,1703,170],{"class":141},[105,1705,1706],{"class":114},"(genObj.",[105,1708,1709],{"class":141},"next",[105,1711,1603],{"class":114},[105,1713,1714],{"class":183},"\u002F\u002F \"Birinci\" yazar, { value: 1, done: false } döner.\n",[105,1716,1717,1719,1721,1723,1725,1727],{"class":107,"line":254},[105,1718,616],{"class":114},[105,1720,170],{"class":141},[105,1722,1706],{"class":114},[105,1724,1709],{"class":141},[105,1726,1603],{"class":114},[105,1728,1729],{"class":183},"\u002F\u002F \"İkinci\" yazar, { value: 2, done: false } döner.\n",[63,1731],{},[76,1733,1735],{"id":1734},"_12-map-ve-set-veri-yapıları","12. Map ve Set Veri Yapıları",[25,1737,1738,1744],{},[28,1739,1740,1743],{},[21,1741,1742],{},"Map:"," Herhangi bir veri tipinde (nesne dahil) anahtar-değer (key-value) çiftleri saklamamızı sağlar.",[28,1745,1746,1749],{},[21,1747,1748],{},"Set:"," Sadece benzersiz (unique) değerleri saklayan bir koleksiyon yapısıdır.",[96,1751,1753],{"className":98,"code":1752,"language":100,"meta":101,"style":101},"\u002F\u002F Map Örneği\nconst myMap = new Map();\nmyMap.set(\"name\", \"Evren\");\n\n\u002F\u002F Set Örneği\nconst mySet = new Set([1, 2, 2, 3]); \u002F\u002F Tekrarlanan 2 elenir.\nconsole.log(mySet.size); \u002F\u002F 3\n",[41,1754,1755,1760,1776,1795,1799,1804,1841],{"__ignoreMap":101},[105,1756,1757],{"class":107,"line":108},[105,1758,1759],{"class":183},"\u002F\u002F Map Örneği\n",[105,1761,1762,1764,1767,1769,1771,1774],{"class":107,"line":128},[105,1763,47],{"class":111},[105,1765,1766],{"class":121}," myMap",[105,1768,317],{"class":111},[105,1770,1172],{"class":111},[105,1772,1773],{"class":141}," Map",[105,1775,291],{"class":114},[105,1777,1778,1781,1784,1786,1789,1791,1793],{"class":107,"line":135},[105,1779,1780],{"class":114},"myMap.",[105,1782,1783],{"class":141},"set",[105,1785,173],{"class":114},[105,1787,1788],{"class":176},"\"name\"",[105,1790,462],{"class":114},[105,1792,844],{"class":176},[105,1794,826],{"class":114},[105,1796,1797],{"class":107,"line":148},[105,1798,132],{"emptyLinePlaceholder":131},[105,1800,1801],{"class":107,"line":164},[105,1802,1803],{"class":183},"\u002F\u002F Set Örneği\n",[105,1805,1806,1808,1811,1813,1815,1818,1821,1823,1825,1827,1829,1831,1833,1835,1838],{"class":107,"line":187},[105,1807,47],{"class":111},[105,1809,1810],{"class":121}," mySet",[105,1812,317],{"class":111},[105,1814,1172],{"class":111},[105,1816,1817],{"class":141}," Set",[105,1819,1820],{"class":114},"([",[105,1822,633],{"class":121},[105,1824,462],{"class":114},[105,1826,638],{"class":121},[105,1828,462],{"class":114},[105,1830,638],{"class":121},[105,1832,462],{"class":114},[105,1834,643],{"class":121},[105,1836,1837],{"class":114},"]); ",[105,1839,1840],{"class":183},"\u002F\u002F Tekrarlanan 2 elenir.\n",[105,1842,1843,1845,1847,1850],{"class":107,"line":213},[105,1844,616],{"class":114},[105,1846,170],{"class":141},[105,1848,1849],{"class":114},"(mySet.size); ",[105,1851,1852],{"class":183},"\u002F\u002F 3\n",[63,1854],{},[76,1856,1858],{"id":1857},"_13-proxy-reflect","13. Proxy & Reflect",[25,1860,1861,1867],{},[28,1862,1863,1866],{},[21,1864,1865],{},"Proxy:"," Bir nesnenin temel işlemlerine (okuma, yazma, silme) araya girerek müdahale etmemizi sağlayan bir sarmalayıcıdır.",[28,1868,1869,1872],{},[21,1870,1871],{},"Reflect:"," JavaScript nesne operasyonlarını (property okuma, tanımlama vb.) fonksiyonel olarak çağırmamızı sağlayan yerleşik API'dir.",[96,1874,1876],{"className":98,"code":1875,"language":100,"meta":101,"style":101},"const target = { name: \"Evren\" };\nconst handler = {\n    get: function(target, prop) {\n        return prop in target ? target[prop] : \"Böyle bir alan yok\";\n    }\n};\nconst proxy = new Proxy(target, handler);\nconsole.log(proxy.age); \u002F\u002F Çıktı: \"Böyle bir alan yok\"\n",[41,1877,1878,1893,1904,1926,1952,1956,1961,1978],{"__ignoreMap":101},[105,1879,1880,1882,1885,1887,1889,1891],{"class":107,"line":108},[105,1881,47],{"class":111},[105,1883,1884],{"class":121}," target",[105,1886,317],{"class":111},[105,1888,951],{"class":114},[105,1890,844],{"class":176},[105,1892,963],{"class":114},[105,1894,1895,1897,1900,1902],{"class":107,"line":128},[105,1896,47],{"class":111},[105,1898,1899],{"class":121}," handler",[105,1901,317],{"class":111},[105,1903,1193],{"class":114},[105,1905,1906,1909,1912,1914,1916,1919,1921,1924],{"class":107,"line":135},[105,1907,1908],{"class":141},"    get",[105,1910,1911],{"class":114},": ",[105,1913,138],{"class":111},[105,1915,173],{"class":114},[105,1917,1918],{"class":589},"target",[105,1920,462],{"class":114},[105,1922,1923],{"class":589},"prop",[105,1925,210],{"class":114},[105,1927,1928,1930,1933,1935,1938,1941,1944,1947,1950],{"class":107,"line":148},[105,1929,1407],{"class":111},[105,1931,1932],{"class":114}," prop ",[105,1934,498],{"class":111},[105,1936,1937],{"class":114}," target ",[105,1939,1940],{"class":111},"?",[105,1942,1943],{"class":114}," target[prop] ",[105,1945,1946],{"class":111},":",[105,1948,1949],{"class":176}," \"Böyle bir alan yok\"",[105,1951,125],{"class":114},[105,1953,1954],{"class":107,"line":164},[105,1955,251],{"class":114},[105,1957,1958],{"class":107,"line":187},[105,1959,1960],{"class":114},"};\n",[105,1962,1963,1965,1968,1970,1972,1975],{"class":107,"line":213},[105,1964,47],{"class":111},[105,1966,1967],{"class":121}," proxy",[105,1969,317],{"class":111},[105,1971,1172],{"class":111},[105,1973,1974],{"class":141}," Proxy",[105,1976,1977],{"class":114},"(target, handler);\n",[105,1979,1980,1982,1984,1987],{"class":107,"line":229},[105,1981,616],{"class":114},[105,1983,170],{"class":141},[105,1985,1986],{"class":114},"(proxy.age); ",[105,1988,1989],{"class":183},"\u002F\u002F Çıktı: \"Böyle bir alan yok\"\n",[63,1991],{},[66,1993,1995],{"id":1994},"sıkça-sorulan-sorular-faq","Sıkça Sorulan Sorular (FAQ)",[76,1997,1999],{"id":1998},"arrow-function-ile-normal-fonksiyon-arasındaki-farklar-nelerdir","Arrow function ile normal fonksiyon arasındaki farklar nelerdir?",[2001,2002,2003,2018,2028],"ol",{},[28,2004,2005,2008,2009,2011,2012,2014,2015,2017],{},[21,2006,2007],{},"this Bağlamı:"," Normal fonksiyonlar çağrıldıkları yere göre kendi ",[41,2010,1074],{}," bağlamlarını oluşturur. Arrow function'lar ise kendi ",[41,2013,1074],{}," bağlamına sahip değildir, lexical ",[41,2016,1074],{}," kullanırlar.",[28,2019,2020,2023,2024,2027],{},[21,2021,2022],{},"constructor:"," Arrow function'lar yapıcı metot (",[41,2025,2026],{},"new",") olarak kullanılamazlar.",[28,2029,2030,2033,2034,2037],{},[21,2031,2032],{},"arguments:"," Arrow function'ların içinde yerleşik ",[41,2035,2036],{},"arguments"," nesnesi bulunmaz.",[76,2039,2041,2043],{"id":2040},"const-ile-tanımlanan-bir-nesne-object-değiştirilebilir-mi",[41,2042,47],{}," ile tanımlanan bir nesne (Object) değiştirilebilir mi?",[11,2045,2046,2047,2049],{},"Evet. ",[41,2048,47],{}," ataması, nesnenin bellekteki referansının değiştirilemeyeceğini belirtir. Nesnenin içindeki özellikleri eklemek, silmek veya değiştirmek tamamen serbesttir:",[96,2051,2053],{"className":98,"code":2052,"language":100,"meta":101,"style":101},"const user = { name: \"Can\" };\nuser.name = \"Ali\"; \u002F\u002F Geçerli işlem!\n\u002F\u002F user = { name: \"Ali\" }; \u002F\u002F TypeError! (Yeni referans atanamaz)\n",[41,2054,2055,2070,2086],{"__ignoreMap":101},[105,2056,2057,2059,2061,2063,2065,2068],{"class":107,"line":108},[105,2058,47],{"class":111},[105,2060,946],{"class":121},[105,2062,317],{"class":111},[105,2064,951],{"class":114},[105,2066,2067],{"class":176},"\"Can\"",[105,2069,963],{"class":114},[105,2071,2072,2075,2077,2080,2083],{"class":107,"line":128},[105,2073,2074],{"class":114},"user.name ",[105,2076,118],{"class":111},[105,2078,2079],{"class":176}," \"Ali\"",[105,2081,2082],{"class":114},"; ",[105,2084,2085],{"class":183},"\u002F\u002F Geçerli işlem!\n",[105,2087,2088,2091],{"class":107,"line":135},[105,2089,2090],{"class":183},"\u002F\u002F user = { name: \"Ali\" };",[105,2092,2093],{"class":183}," \u002F\u002F TypeError! (Yeni referans atanamaz)\n",[76,2095,2097],{"id":2096},"rest-ve-spread-arasındaki-fark-nedir","Rest ve Spread arasındaki fark nedir?",[11,2099,2100,2101,2103],{},"Aynı sembol (",[41,2102,51],{},") kullanılsa da görevleri zıttır:",[25,2105,2106,2112],{},[28,2107,2108,2111],{},[21,2109,2110],{},"Rest:"," Dağınık verileri bir dizi haline getirir (Toplama işlemi - örn: fonksiyon parametreleri).",[28,2113,2114,2117],{},[21,2115,2116],{},"Spread:"," Bir diziyi ya da nesneyi öğelerine ayırır (Dağıtma işlemi - örn: kopyalama, parametre açma).",[63,2119],{},[2121,2122,2124],"h5",{"id":2123},"bu-yazıda-yapılan-değişiklikler","Bu Yazıda Yapılan Değişiklikler",[25,2126,2127,2130],{},[28,2128,2129],{},"20.06.2026: Yazı genel olarak modernize edildi. Template literals tırnak hatası, Math.max ve çarpım sonucu gibi kod mantığı hataları giderildi. let\u002Fconst tablosu ile FAQ bölümü eklendi.",[28,2131,2132],{},"11.05.2022: Yazı özeti düzenlendi. İç yazılara linkleme yapıldı.",[2134,2135,2136],"style",{},"html pre.shiki code .szBVR, html code.shiki .szBVR{--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .sJ8bj, html code.shiki .sJ8bj{--shiki-default:#6A737D;--shiki-dark:#6A737D}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .s4XuR, html code.shiki .s4XuR{--shiki-default:#E36209;--shiki-dark:#FFAB70}",{"title":101,"searchDepth":128,"depth":128,"links":2138},[2139,2156],{"id":68,"depth":128,"text":69,"children":2140},[2141,2142,2143,2145,2147,2148,2149,2150,2151,2152,2153,2154,2155],{"id":78,"depth":135,"text":79},{"id":425,"depth":135,"text":426},{"id":562,"depth":135,"text":2144},"3. Rest Operatörü (...)",{"id":656,"depth":135,"text":2146},"4. Spread (Dağıtma) Operatörü (...)",{"id":766,"depth":135,"text":767},{"id":873,"depth":135,"text":874},{"id":993,"depth":135,"text":994},{"id":1063,"depth":135,"text":1064},{"id":1147,"depth":135,"text":1148},{"id":1326,"depth":135,"text":1327},{"id":1611,"depth":135,"text":1612},{"id":1734,"depth":135,"text":1735},{"id":1857,"depth":135,"text":1858},{"id":1994,"depth":128,"text":1995,"children":2157},[2158,2159,2161],{"id":1998,"depth":135,"text":1999},{"id":2040,"depth":135,"text":2160},"const ile tanımlanan bir nesne (Object) değiştirilebilir mi?",{"id":2096,"depth":135,"text":2097},[2163],"technical",null,"2021-10-20","Modern JavaScript'in temel taşı olan ES6 (ECMAScript 2015) sürümüyle gelen let\u002Fconst, arrow functions, promises ve sınıflar gibi özellikleri öğrenin.",false,"md","\u002Fimages\u002Fhero\u002Fes6.avif",{},"\u002Ftr\u002Fes6-nedir-ecmascript-2015-nedir",{"title":6,"description":2166},"es6-nedir-ecmascript-2015-nedir","tr\u002Fes6-nedir-ecmascript-2015-nedir",[100,2176,2177],"es6","ecmascript","2026-06-20","JMvPJpVuakQ3F5Z0V78IE-QOzbQQ7J8SF-reFYVCgB0",{"prev":2181,"next":2184,"others":2187,"lucky":2308,"readingTime":187},{"path":2182,"title":2183},"\u002Ftr\u002Fes5-nedir","ES5 Nedir? JavaScript Geliştiricileri İçin Kılavuz",{"path":2185,"title":2186},"\u002Ftr\u002Fes10-nedir-ecmascript-2019-nedir","ES10 Nedir? ECMAScript 2019 Nedir?",[2188,2191,2194,2197,2200,2203,2206,2209,2212,2215,2218,2221,2224,2227,2230,2233,2236,2239,2242,2245,2248,2251,2254,2257,2260,2263,2266,2269,2272,2275,2278,2281,2284,2287,2290,2293,2296,2299,2302,2305],{"path":2189,"title":2190},"\u002Ftr\u002Fdocker-nedir","Docker Nedir?",{"path":2192,"title":2193},"\u002Ftr\u002Fstate-tasarim-deseni-nedir","State Tasarım Deseni Nedir?",{"path":2195,"title":2196},"\u002Ftr\u002Fmerhabadunya","Merhaba Dünya",{"path":2198,"title":2199},"\u002Ftr\u002Fes14-nedir-ecmascript-2023-nedir","ES14 nedir? ECMAScript 2023 nedir?",{"path":2201,"title":2202},"\u002Ftr\u002Fobserver-tasarim-deseni-nedir","Observer Tasarım Deseni Nedir?",{"path":2204,"title":2205},"\u002Ftr\u002Fadapter-tasarim-deseni-nedir","Adapter Tasarım Deseni Nedir?",{"path":2207,"title":2208},"\u002Ftr\u002Ffactory-method-ve-abstract-factory-farki-nedir","Factory Method ve Abstract Factory Farkı Nedir?",{"path":2210,"title":2211},"\u002Ftr\u002Fwordpress-yonetici-sifresini-wp-cli-kullanarak-sifirlama","WordPress Yönetici Şifresini WP-CLI Kullanarak Sıfırlama",{"path":2213,"title":2214},"\u002Ftr\u002Fes15-nedir-ecmascript-2024-nedir","ES15 nedir? ECMAScript 2024 nedir?",{"path":2216,"title":2217},"\u002Ftr\u002Fwsl-2-kurulumu-6-kolay-adim","WSL 2 Kurulumu - 6 kolay adım",{"path":2219,"title":2220},"\u002Ftr\u002Fes11-nedir-ecmascript-2020-nedir","ES11 Nedir? ECMAScript 2020 Nedir?",{"path":2222,"title":2223},"\u002Ftr\u002Fgo-ve-degiskenler","Go ve Değişkenler",{"path":2225,"title":2226},"\u002Ftr\u002Fnostalji-ibibik-online","Nostalji: İbibik Online (1998'den Bir Web Macerası)",{"path":2228,"title":2229},"\u002Ftr\u002Fdocker-swarm-nedir","Docker Swarm Nedir?",{"path":2231,"title":2232},"\u002Ftr\u002Fyeni-tema-honeywind","Yeni WordPress Temam Honeywind: Tailwind CSS ve Minimalizm",{"path":2234,"title":2235},"\u002Ftr\u002Fcommand-tasarim-deseni-nedir","Command Tasarım Deseni Nedir?",{"path":2237,"title":2238},"\u002Ftr\u002Fekran-filtresi-mavi-isik-filtresi-flux","Gözlere dost, mavi ışığa düşman ekran filtresi f.lux",{"path":2240,"title":2241},"\u002Ftr\u002Frest-api-uri-yapisi-nasil-olmali","REST API URI Yapısı Nasıl Olmalı?",{"path":2243,"title":2244},"\u002Ftr\u002Fes16-nedir-ecmascript-2025-nedir","ES16 nedir? ECMAScript 2025 nedir?",{"path":2246,"title":2247},"\u002Ftr\u002Fcomposite-tasarim-deseni-nedir","Composite Tasarım Deseni Nedir?",{"path":2249,"title":2250},"\u002Ftr\u002Fubuntu-guncellemesi-sonrasi-cyberpanele-ulasilamama-sorunlarini-giderme","Ubuntu Güncellemesi Sonrası CyberPanel'e Ulaşılamama Sorunlarını Giderme",{"path":2252,"title":2253},"\u002Ftr\u002Fubuntu-24-04-uzerinde-cyberpanel-kurulumu","Ubuntu 24.04 LTS ve 22.04 LTS Üzerinde CyberPanel Kurulumu",{"path":2255,"title":2256},"\u002Ftr\u002Frest-api-guvenligi-nasil-saglanir","REST Api Güvenliği Nasıl Sağlanır?",{"path":2258,"title":2259},"\u002Ftr\u002Fopenlitespeed-ve-litespeed-enterprisei-reverse-proxy-olarak-kullanmak","OpenLiteSpeed ve LiteSpeed Enterprise Sunucularını Reverse Proxy Olarak Kullanmak",{"path":2261,"title":2262},"\u002Ftr\u002Fvue-js-nedir","Vue.js Nedir? Yeni Başlayanlar İçin Rehber",{"path":2264,"title":2265},"\u002Ftr\u002Frest-api-kimlik-dogrulama-nasil-yapilir","REST API Kimlik Doğrulama Nasıl Yapılır?",{"path":2267,"title":2268},"\u002Ftr\u002Fes7-nedir-ecmascript-2016-nedir","ES7 Nedir? ECMAScript 2016 Nedir?",{"path":2270,"title":2271},"\u002Ftr\u002Fecmascript-nedir-ecmascript-ne-degildir-bilinmesi-gerekenler","ECMAScript Nedir? Bilinmesi Gerekenler...",{"path":2273,"title":2274},"\u002Ftr\u002Fvue-3-hakkinda-bilmeniz-gerekenler-yenilikler","Vue 3 Hakkında Bilmeniz Gerekenler ve Yenilikler",{"path":2276,"title":2277},"\u002Ftr\u002Fvisitor-tasarim-deseni-nedir","Visitor Tasarım Deseni Nedir?",{"path":2279,"title":2280},"\u002Ftr\u002Fes13-nedir-ecmascript-2022-nedir","ES13 nedir? ECMAScript 2022 nedir?",{"path":2282,"title":2283},"\u002Ftr\u002Flinuxda-golang-kurulumu","Linux'ta Golang Kurulumu",{"path":2285,"title":2286},"\u002Ftr\u002Frabbitmq-nedir","RabbitMQ Nedir?",{"path":2288,"title":2289},"\u002Ftr\u002Faws-ec2-uzerinde-docker-ve-full-stack-web-performansi","AWS EC2 Üzerinde Docker ve Full Stack Web Performansı",{"path":2291,"title":2292},"\u002Ftr\u002Ffull-stack-proje-agaci","Full-Stack Proje Yol Haritası ve İçindekiler",{"path":2294,"title":2295},"\u002Ftr\u002Fiterator-tasarim-deseni-nedir","Iterator Tasarım Deseni Nedir?",{"path":2297,"title":2298},"\u002Ftr\u002Fdocker-ile-rabbitmq-kurulumu","Docker ile RabbitMQ Kurulumu",{"path":2300,"title":2301},"\u002Ftr\u002Fmutable-ve-immutable-kavrami","Mutable ve Immutable Kavramları Nedir?",{"path":2303,"title":2304},"\u002Ftr\u002Fgo-veri-tipleri-map","Go Veri Tipleri - Map",{"path":2306,"title":2307},"\u002Ftr\u002Fgo-ile-websockets-websocket-upgrader-nedir","Go ile WebSockets: Upgrader Nedir?",{"path":2309,"title":2310},"\u002Ftr\u002Ftemplate-method-tasarim-deseni-nedir","Template Method Tasarım Deseni Nedir?",[2312,2313,2314,2315],{"path":2279,"title":2280,"date":2178},{"path":2198,"title":2199,"date":2178},{"path":2213,"title":2214,"date":2178},{"path":2243,"title":2244,"date":2178},[2317,2321,2325],{"path":2318,"title":2319,"date":2320},"\u002Ftr\u002Ffull-stack-proje-gelistiriyoruz","Full Stack Proje Geliştiriyoruz","2021-02-16",{"path":2322,"title":2323,"date":2324},"\u002Ftr\u002Fgo-slice-veri-tipi","Go Veri Tipleri: Slice","2021-10-10",{"path":2326,"title":2327,"date":2328},"\u002Ftr\u002Fgo-veri-tipleri-struct","Go Veri Tipleri: Struct","2021-10-14",1782142001332]