[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"blog-post-javascript-temelleri-degiskenler-veri-tipleri-ve-ornekler":3},{"dataItem":4,"heading":36,"metaData":38,"schema":81},["Reactive",5],{"id":6,"title":7,"summary":8,"content":9,"seo_title":10,"seo_description":11,"seo_keywords":12,"slug":13,"createdAt":14,"updatedAt":14,"blog_categories":15,"authors":19,"image":24,"thumb":25,"image_webp":26,"thumb_webp":27,"rating":28,"heading_title":7,"heading_sub_title":17,"readingTime":29,"url":34,"comments":35,"meta_cover":24},21614,"JavaScript Temelleri: Değişkenler, Veri Tipleri ve Örnekler","Bu rehber, JavaScript başlangıç kodları yazarken en çok ihtiyaç duyulan temelleri anlatır: değişken tanımlama (var/let/const), kapsam (scope), Temporal Dead Zone (TDZ) ve temel veri tipleri. Primitif türlerle nesnelerin farkını, const ile yeniden atama ve mutasyon ayrımını, ayrıca primitiflerde değer kopyalama vs nesnelerde referans davranışını pratik örneklerle görürsünüz.","\u003Ch2>JavaScript başlangıç kodları ile: Bu yazıda ne öğreneceksiniz?\u003C/h2>\n\u003Cp>Bu rehber, \u003Cstrong>javascript başlangıç kodları\u003C/strong> yazmaya başlarken en kritik iki konuyu netleştirir: \u003Cstrong>değişkenler\u003C/strong> (var/let/const) ve \u003Cstrong>veri tipleri\u003C/strong> (primitifler ve nesneler). Amaç; ezber yapmak değil, küçük örneklerle “neden böyle?” sorusuna cevap vererek hızlıca pratik yapabilmeniz.\u003C/p>\n\u003Cp>Yazı boyunca, dilin temel davranışları için \u003Ca href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Data_structures\" rel=\"noopener noreferrer\">MDN veri tipleri rehberi\u003C/a>, \u003Ca href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/let\" rel=\"noopener noreferrer\">MDN let açıklaması\u003C/a>, resmi tanım için \u003Ca href=\"https://262.ecma-international.org/14.0/\" rel=\"noopener noreferrer\">ECMAScript (ECMA-262) spesifikasyonu\u003C/a> ve öğrenme odaklı özet için \u003Ca href=\"https://web.dev/learn/javascript/data-types\" rel=\"noopener noreferrer\">web.dev\u003C/a> referans alınır.\u003C/p>\n\u003Chr>\n\n\u003Ch2>1) Değişken nedir? JavaScript’te değişken tanımlama\u003C/h2>\n\u003Cp>Değişken, bir değeri isimle tutmanıza yarar. JavaScript’te değişken tanımlamak için en yaygın üç anahtar kelime vardır: \u003Cstrong>var\u003C/strong>, \u003Cstrong>let\u003C/strong>, \u003Cstrong>const\u003C/strong>. Farkları yalnızca “yeniden atama olur mu?” değil; aynı zamanda \u003Cstrong>kapsam (scope)\u003C/strong> ve bazı sürprizleri azaltan kurallarla ilgilidir.\u003C/p>\n\n\u003Ch3>var / let / const hızlı karşılaştırma\u003C/h3>\n\u003Ctable>\n  \u003Cthead>\n    \u003Ctr>\n      \u003Cth>Özellik\u003C/th>\n      \u003Cth>var\u003C/th>\n      \u003Cth>let\u003C/th>\n      \u003Cth>const\u003C/th>\n    \u003C/tr>\n  \u003C/thead>\n  \u003Ctbody>\n    \u003Ctr>\n      \u003Ctd>Kapsam (scope)\u003C/td>\n      \u003Ctd>Fonksiyon kapsamı (function scope)\u003C/td>\n      \u003Ctd>Blok kapsamı (block scope)\u003C/td>\n      \u003Ctd>Blok kapsamı (block scope)\u003C/td>\n    \u003C/tr>\n    \u003Ctr>\n      \u003Ctd>Yeniden tanımlama (aynı isimle)\u003C/td>\n      \u003Ctd>Genelde mümkün\u003C/td>\n      \u003Ctd>Aynı kapsam içinde mümkün değil\u003C/td>\n      \u003Ctd>Aynı kapsam içinde mümkün değil\u003C/td>\n    \u003C/tr>\n    \u003Ctr>\n      \u003Ctd>Yeniden atama\u003C/td>\n      \u003Ctd>Mümkün\u003C/td>\n      \u003Ctd>Mümkün\u003C/td>\n      \u003Ctd>Mümkün değil (binding sabit)\u003C/td>\n    \u003C/tr>\n    \u003Ctr>\n      \u003Ctd>Hoisting / TDZ\u003C/td>\n      \u003Ctd>Hoisting davranışı daha “esnek” görünür\u003C/td>\n      \u003Ctd>TDZ nedeniyle erken erişimde hata görülebilir\u003C/td>\n      \u003Ctd>TDZ nedeniyle erken erişimde hata görülebilir\u003C/td>\n    \u003C/tr>\n  \u003C/tbody>\n\u003C/table>\n\u003Cp>Bu davranışların ayrıntıları için MDN’nin \u003Ca href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/let\" rel=\"noopener noreferrer\">let açıklaması\u003C/a> özellikle kapsam (scope), yeniden tanımlama ve \u003Cem>Temporal Dead Zone\u003C/em> (TDZ) başlıklarında net örnekler verir.\u003C/p>\n\n\u003Ch3>Kapsam (scope): Değişkenin “nereden görüldüğü”\u003C/h3>\n\u003Cp>\u003Cstrong>Blok\u003C/strong>, genellikle süslü parantez içidir: \u003Cem>{ ... }\u003C/em>. \u003Cstrong>let\u003C/strong> ve \u003Cstrong>const\u003C/strong> blok kapsamlıdır; yani sadece tanımlandıkları blok içinde erişilebilirler. \u003Cstrong>var\u003C/strong> ise fonksiyon kapsamlıdır; blok içine yazılsa bile çoğu durumda fonksiyonun tamamından erişilebilir gibi davranır. (Detaylar: \u003Ca href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/let\" rel=\"noopener noreferrer\">MDN\u003C/a>)\u003C/p>\n\n\u003Ch3>Hoisting ve Temporal Dead Zone (TDZ) nedir?\u003C/h3>\n\u003Cp>JavaScript motoru, bazı bildirimleri çalıştırma sırasında farklı bir şekilde ele alır; bu davranış pratikte “hoisting” olarak anılır. \u003Cstrong>let\u003C/strong> ve \u003Cstrong>const\u003C/strong> için önemli nokta: Bildirim satırından önce erişmeye çalışırsanız, \u003Cstrong>TDZ\u003C/strong> nedeniyle \u003Cem>ReferenceError\u003C/em> görebilirsiniz. (Kaynak: \u003Ca href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/let\" rel=\"noopener noreferrer\">MDN let\u003C/a>)\u003C/p>\n\n\u003Cp>\u003Cstrong>Kod örneği:\u003C/strong>\u003C/p>\n\u003Cblockquote>\n// TDZ örneği\u003Cbr>\nconsole.log(x); // ReferenceError (x bildirilmeden önce)\u003Cbr>\nlet x = 10;\u003Cbr>\n\u003Cbr>\n// var örneği (davranış farklı görünebilir)\u003Cbr>\nconsole.log(y); // undefined (bildirim önce, atama sonra yapılır gibi görünür)\u003Cbr>\nvar y = 10;\n\u003C/blockquote>\n\u003Cp>Not: Buradaki amaç “hangi satır ne verir?” ezberi değil; \u003Cstrong>okunabilirlik ve sürprizleri azaltmak\u003C/strong>. Bu nedenle modern anlatımlarda var yerine let/const kullanımı daha yaygındır. (Bkz. \u003Ca href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/let\" rel=\"noopener noreferrer\">MDN\u003C/a>, \u003Ca href=\"https://web.dev/learn/javascript/data-types\" rel=\"noopener noreferrer\">web.dev\u003C/a>)\u003C/p>\n\n\u003Chr>\n\n\u003Ch2>2) JavaScript veri tipleri: Primitifler ve nesneler\u003C/h2>\n\u003Cp>JavaScript’te veri tiplerini iki büyük grupta düşünmek işinizi kolaylaştırır:\u003C/p>\n\u003Cul>\n  \u003Cli>\u003Cstrong>Primitif (yalın) tipler\u003C/strong>: Tek bir değer temsil eder ve genel olarak değiştirilemez (immutable) davranırlar.\u003C/li>\n  \u003Cli>\u003Cstrong>Nesneler (objects)\u003C/strong>: Anahtar-değer çiftleri ve koleksiyonlar gibi daha karmaşık yapıları temsil eder; genel olarak değiştirilebilir (mutable) davranır.\u003C/li>\n\u003C/ul>\n\u003Cp>Primitif türlerin listesi (Number, String, Boolean, null, undefined, BigInt, Symbol) ve nesne/primitive ayrımı, dilin resmi tanımı (\u003Ca href=\"https://262.ecma-international.org/14.0/\" rel=\"noopener noreferrer\">ECMA-262\u003C/a>) ve eğitim dokümanlarında (ör. \u003Ca href=\"https://web.dev/learn/javascript/data-types\" rel=\"noopener noreferrer\">web.dev\u003C/a>, \u003Ca href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Data_structures\" rel=\"noopener noreferrer\">MDN\u003C/a>) tutarlı şekilde anlatılır.\u003C/p>\n\n\u003Ch3>Primitif veri tipleri (7 temel tür)\u003C/h3>\n\u003Cul>\n  \u003Cli>\u003Cstrong>Number\u003C/strong>: Tam sayı ve ondalıklı sayıları temsil eder.\u003Cbr>\u003Cem>Örnek:\u003C/em> 42, 3.14\u003C/li>\n  \u003Cli>\u003Cstrong>String\u003C/strong>: Metin değerleri.\u003Cbr>\u003Cem>Örnek:\u003C/em> \"Merhaba\", 'JS'\u003C/li>\n  \u003Cli>\u003Cstrong>Boolean\u003C/strong>: true / false.\u003C/li>\n  \u003Cli>\u003Cstrong>undefined\u003C/strong>: Değer atanmamış olma durumunu ifade etmek için sık görülür.\u003C/li>\n  \u003Cli>\u003Cstrong>null\u003C/strong>: Bilinçli olarak “boş” değer vermek için kullanılır.\u003C/li>\n  \u003Cli>\u003Cstrong>BigInt\u003C/strong>: Çok büyük tam sayılar için.\u003C/li>\n  \u003Cli>\u003Cstrong>Symbol\u003C/strong>: Benzersiz tanımlayıcılar için; çoğunlukla nesne anahtarlarında ve gelişmiş senaryolarda karşınıza çıkar.\u003C/li>\n\u003C/ul>\n\u003Cp>Bu türlerin kavramsal tanımı ve örnekleri için: \u003Ca href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Data_structures\" rel=\"noopener noreferrer\">MDN Data structures\u003C/a> ve \u003Ca href=\"https://web.dev/learn/javascript/data-types\" rel=\"noopener noreferrer\">web.dev Data types\u003C/a>.\u003C/p>\n\n\u003Ch3>Nesneler (Object) ve diziler (Array)\u003C/h3>\n\u003Cp>\u003Cstrong>Nesneler\u003C/strong>, JavaScript’te “kompleks yapı” denince merkezde yer alır. Diziler (\u003Cstrong>Array\u003C/strong>) de JavaScript’te nesnenin özel bir türü olarak ele alınır. (Kaynak: \u003Ca href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Data_structures\" rel=\"noopener noreferrer\">MDN\u003C/a>)\u003C/p>\n\n\u003Cp>\u003Cstrong>Kod örneği:\u003C/strong>\u003C/p>\n\u003Cblockquote>\nconst user = { name: \"Ada\", age: 28 };\u003Cbr>\nconst scores = [10, 20, 30];\u003Cbr>\n\u003Cbr>\nconsole.log(user.name); // \"Ada\"\u003Cbr>\nconsole.log(scores[0]); // 10\n\u003C/blockquote>\n\n\u003Ch3>const ile “değişmezlik” karışıklığı: Yeniden atama vs mutasyon\u003C/h3>\n\u003Cp>Yeni başlayanların en sık karıştırdığı nokta şudur: \u003Cstrong>const, değişken ismine (binding) yeniden atamayı engeller\u003C/strong>; fakat eğer const ile tuttuğunuz değer bir \u003Cstrong>nesne\u003C/strong> veya \u003Cstrong>dizi\u003C/strong> ise, içeriğini değiştirebilirsiniz. (Kaynak: \u003Ca href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Data_structures\" rel=\"noopener noreferrer\">MDN\u003C/a>)\u003C/p>\n\n\u003Cp>\u003Cstrong>Kod örneği:\u003C/strong>\u003C/p>\n\u003Cblockquote>\nconst profile = { city: \"Austin\" };\u003Cbr>\nprofile.city = \"Seattle\"; // mümkün: nesnenin içeriği değişir (mutasyon)\u003Cbr>\n\u003Cbr>\n// profile = { city: \"Miami\" }; // TypeError: const değişkene yeniden atama yapılamaz\n\u003C/blockquote>\n\n\u003Ch3>Primitifler “değer” gibi, nesneler “referans” gibi davranır\u003C/h3>\n\u003Cp>Bu ayrım; kopyalama, karşılaştırma ve fonksiyonlara parametre geçirme davranışlarını anlamayı kolaylaştırır. MDN, primitif ve nesne ayrımını bu zihinsel modelle açıklamayı önerir. (Kaynak: \u003Ca href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Data_structures\" rel=\"noopener noreferrer\">MDN Data structures\u003C/a>)\u003C/p>\n\n\u003Cp>\u003Cstrong>Kod örneği:\u003C/strong>\u003C/p>\n\u003Cblockquote>\n// Primitif: kopya (değer) gibi davranır\u003Cbr>\nlet a = 5;\u003Cbr>\nlet b = a;\u003Cbr>\nb = 6;\u003Cbr>\nconsole.log(a); // 5\u003Cbr>\nconsole.log(b); // 6\u003Cbr>\n\u003Cbr>\n// Nesne: aynı referansı paylaşabilirsiniz\u003Cbr>\nconst obj1 = { n: 1 };\u003Cbr>\nconst obj2 = obj1;\u003Cbr>\nobj2.n = 2;\u003Cbr>\nconsole.log(obj1.n); // 2 (obj1 ve obj2 aynı nesneyi işaret ediyor)\n\u003C/blockquote>\n\n\u003Cp>Pratik öneri: Yeniden atama yapmayacaksanız \u003Cstrong>const\u003C/strong> kullanmak, kodu okuyan kişiye “bu isim başka bir değere dönmeyecek” mesajı verir. Yeniden atama gerekiyorsa \u003Cstrong>let\u003C/strong> kullanın. (Kaynak: \u003Ca href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/let\" rel=\"noopener noreferrer\">MDN\u003C/a>, \u003Ca href=\"https://web.dev/learn/javascript/data-types\" rel=\"noopener noreferrer\">web.dev\u003C/a>)\u003C/p>\n\n\u003Chr>\n\n\u003Ch2>3) Temel JS örnekleri: Değişkenler ve veri tipleriyle pratik\u003C/h2>\n\u003Cp>Aşağıdaki örnekler, “en çok kullanılan” temel desenleri gösterir. Buradaki amaç, küçük parçalarla kas hafızası kazanmaktır.\u003C/p>\n\n\u003Ch3>Örnek 1: let ile sayaç (yeniden atama gereken durum)\u003C/h3>\n\u003Cp>\u003Cstrong>Kod örneği:\u003C/strong>\u003C/p>\n\u003Cblockquote>\nlet count = 0;\u003Cbr>\ncount = count + 1;\u003Cbr>\ncount += 1;\u003Cbr>\nconsole.log(count); // 2\n\u003C/blockquote>\n\n\u003Ch3>Örnek 2: const ile sabit referanslar (yeniden atama yoksa)\u003C/h3>\n\u003Cp>\u003Cstrong>Kod örneği:\u003C/strong>\u003C/p>\n\u003Cblockquote>\nconst siteName = \"Example\";\u003Cbr>\n// siteName = \"New\"; // TypeError: yeniden atama yapılamaz\u003Cbr>\nconsole.log(siteName); // \"Example\"\n\u003C/blockquote>\n\n\u003Ch3>Örnek 3: String birleştirme ve değişken kullanımı\u003C/h3>\n\u003Cp>\u003Cstrong>Kod örneği:\u003C/strong>\u003C/p>\n\u003Cblockquote>\nconst firstName = \"Ada\";\u003Cbr>\nconst lastName = \"Lovelace\";\u003Cbr>\nconst fullName = firstName + \" \" + lastName;\u003Cbr>\nconsole.log(fullName); // \"Ada Lovelace\"\n\u003C/blockquote>\n\n\u003Ch3>Örnek 4: null ve undefined farkını hissetmek\u003C/h3>\n\u003Cp>Genel bir kural gibi düşünebilirsiniz: \u003Cstrong>undefined\u003C/strong> genelde “henüz değer yok”, \u003Cstrong>null\u003C/strong> ise “bilerek boş” anlamına gelecek şekilde kullanılır. (Bkz. \u003Ca href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Data_structures\" rel=\"noopener noreferrer\">MDN\u003C/a>, \u003Ca href=\"https://web.dev/learn/javascript/data-types\" rel=\"noopener noreferrer\">web.dev\u003C/a>)\u003C/p>\n\u003Cp>\u003Cstrong>Kod örneği:\u003C/strong>\u003C/p>\n\u003Cblockquote>\nlet aValue;\u003Cbr>\nconsole.log(aValue); // undefined\u003Cbr>\n\u003Cbr>\nconst bValue = null;\u003Cbr>\nconsole.log(bValue); // null\n\u003C/blockquote>\n\n\u003Ch3>Örnek 5: Array (dizi) ile liste işlemleri\u003C/h3>\n\u003Cp>\u003Cstrong>Kod örneği:\u003C/strong>\u003C/p>\n\u003Cblockquote>\nconst tasks = [\"Read\", \"Practice\", \"Build\"];\u003Cbr>\ntasks.push(\"Review\"); // dizi içeriği değişebilir\u003Cbr>\nconsole.log(tasks.length); // 4\n\u003C/blockquote>\n\n\u003Ch3>Örnek 6: Object ile basit veri modeli\u003C/h3>\n\u003Cp>\u003Cstrong>Kod örneği:\u003C/strong>\u003C/p>\n\u003Cblockquote>\nconst product = { id: 1, name: \"Keyboard\", price: 49.99 };\u003Cbr>\nproduct.price = 44.99; // mutasyon mümkün\u003Cbr>\nconsole.log(product); // { id: 1, name: \"Keyboard\", price: 44.99 }\n\u003C/blockquote>\n\n\u003Chr>\n\n\u003Ch2>4) Sık yapılan karışıklıklar ve hızlı çözümler\u003C/h2>\n\n\u003Ch3>1) “var kullanmak yasak mı?”\u003C/h3>\n\u003Cp>Hayır. Resmi dil tanımı var’ı “kaldırılmış” saymaz; ancak modern kod tabanlarında let/const daha çok tercih edilir çünkü blok kapsamı ve TDZ gibi kurallar bazı sürprizleri azaltmaya yardımcı olur. (Kaynak: \u003Ca href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/let\" rel=\"noopener noreferrer\">MDN\u003C/a>)\u003C/p>\n\n\u003Ch3>2) “const = tamamen değişmez” değil\u003C/h3>\n\u003Cp>const, değişken adına yeniden atamayı engeller. Nesne/dizi gibi yapılarda içerik değişebilir. Gerçek “derin değişmezlik” (deep immutability) ayrı teknikler gerektirir ve bu rehberin kapsamı dışındadır. (Kaynak: \u003Ca href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Data_structures\" rel=\"noopener noreferrer\">MDN\u003C/a>)\u003C/p>\n\n\u003Ch3>3) Primitifler ve nesneler: neden önemli?\u003C/h3>\n\u003Cp>Çünkü bu ayrım, kopyalama ve karşılaştırma davranışlarını etkiler. Primitifler tek bir değer gibi davranırken nesneler çoğu senaryoda aynı referans üzerinden taşınır. (Kaynak: \u003Ca href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Data_structures\" rel=\"noopener noreferrer\">MDN\u003C/a>)\u003C/p>\n\n\u003Chr>\n\n\u003Ch2>5) Hızlı kontrol listesi: Doğru değişkeni doğru yerde seçin\u003C/h2>\n\u003Cul>\n  \u003Cli>Bu değişken yeniden atama gerektirmiyor mu? \u003Cstrong>const\u003C/strong> ile başlayın.\u003C/li>\n  \u003Cli>Değer zamanla değişecek mi (sayaç, durum, döngü içinde artış)? \u003Cstrong>let\u003C/strong> seçin.\u003C/li>\n  \u003Cli>Legacy bir kod tabanında mısınız ve var zaten yoğun mu? Değişiklik yapmadan önce kapsam etkisini test edin; gerekirse aşamalı geçiş planlayın.\u003C/li>\n  \u003Cli>“Boş değer” ihtiyacınız var mı? Anlamınızı netleştirin: \u003Cstrong>null\u003C/strong> (bilerek boş) mı, \u003Cstrong>undefined\u003C/strong> (değer yok) mu?\u003C/li>\n\u003C/ul>\n\n\u003Ch2>6) Mini alıştırmalar (10 dakikalık pratik)\u003C/h2>\n\u003Col>\n  \u003Cli>\u003Cstrong>Değişken seçimi:\u003C/strong> Bir kullanıcının adını ve giriş sayısını tutun. Hangisi const, hangisi let olmalı?\u003C/li>\n  \u003Cli>\u003Cstrong>Tip tanıma:\u003C/strong> Bir dizide (Array) 3 farklı tip saklayın: Number, String, Boolean. Sonra bir nesneye (Object) taşıyın.\u003C/li>\n  \u003Cli>\u003Cstrong>Değer vs referans:\u003C/strong> Bir primitif (Number) kopyalayın ve yeni değişkeni değiştirin; sonra bir nesneyi kopyalayıp içindeki alanı değiştirin. Sonucu gözlemleyin.\u003C/li>\n  \u003Cli>\u003Cstrong>const ve mutasyon:\u003C/strong> const ile bir nesne tanımlayın; bir property ekleyin. Ardından aynı isimli değişkene yeni nesne atamayı deneyin ve sonucu gözlemleyin.\u003C/li>\n\u003C/ol>\n\n\u003Chr>\n\n\u003Ch2>Kaynaklar ve ileri okuma\u003C/h2>\n\u003Cul>\n  \u003Cli>\u003Ca href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Data_structures\" rel=\"noopener noreferrer\">MDN: JavaScript data types and data structures\u003C/a>\u003C/li>\n  \u003Cli>\u003Ca href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/let\" rel=\"noopener noreferrer\">MDN: let (scope, TDZ, kurallar)\u003C/a>\u003C/li>\n  \u003Cli>\u003Ca href=\"https://web.dev/learn/javascript/data-types\" rel=\"noopener noreferrer\">web.dev: Data types and structures\u003C/a>\u003C/li>\n  \u003Cli>\u003Ca href=\"https://262.ecma-international.org/14.0/\" rel=\"noopener noreferrer\">ECMA-262: ECMAScript 2023 Language Specification\u003C/a>\u003C/li>\n\u003C/ul>\n\u003Cp>\u003Cem>Not:\u003C/em> JavaScript, zaman içinde güncellenen bir dildir. En kesin teknik tanım her zaman güncel \u003Ca href=\"https://262.ecma-international.org/14.0/\" rel=\"noopener noreferrer\">ECMA-262\u003C/a> sürümüdür; öğretici kaynaklar ise bu davranışları daha anlaşılır hale getirir.\u003C/p>","JavaScript Temelleri: var/let/const, Veri Tipleri, TDZ","JavaScript başlangıç kodları için var/let/const farkı, scope ve TDZ; primitif vs nesne veri tipleri ve örneklerle pratik bir başlangıç rehberi.","javascript başlangıç kodları, JavaScript değişkenler, JavaScript veri tipleri, var let const farkı, scope, Temporal Dead Zone, primitif tipler, object array","javascript-temelleri-degiskenler-veri-tipleri-ve-ornekler","2026-03-11T15:29:55.000Z",{"id":16,"title":17,"slug":18},201,"JavaScript Temelleri","javascript-temelleri",{"id":20,"name":21,"nickname":22,"slug":23},91,"Mert Kılıçoğlu","CodeCraftsman","mert-kilicoglu","/media/blog/1b9d0caec0bcd45d69a4b2b8ba98d413.jpg","/media/blog/1b9d0caec0bcd45d69a4b2b8ba98d413_thumb.jpg","/media/blog/1b9d0caec0bcd45d69a4b2b8ba98d413.webp","/media/blog/1b9d0caec0bcd45d69a4b2b8ba98d413_thumb.webp",null,{"minutes":30,"wordCount":31,"imageCount":32,"formatted":33},7,1222,0,"7 dk okuma süresi","/blog/javascript-temelleri/javascript-temelleri-degiskenler-veri-tipleri-ve-ornekler",[],["Reactive",37],{"title":7,"subTitle":17,"image":24},["Reactive",39],{"title":10,"meta":40,"link":75},[41,43,45,48,51,54,57,60,63,66,69,71,73],{"hid":42,"name":42,"content":11},"description",{"hid":44,"name":44,"content":12},"keywords",{"hid":46,"name":46,"content":47},"author","Başlangıç Seviyesi Kod & Snippet Rehberi",{"hid":49,"name":49,"content":50},"robots","index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1",{"hid":52,"property":52,"content":53},"og:type","website",{"hid":55,"property":55,"content":56},"og:title","Başlangıç Kod & Snippet Rehberi | KodÖğreniyorum",{"hid":58,"property":58,"content":59},"og:description","Yeni başlayanlara yönelik kısa kod örnekleri, snippet'ler ve adım adım alıştırmalar. Hızlı uygulamalarla temel programlama mantığını pekiştir.",{"hid":61,"property":61,"content":62},"og:image","https://kodogreniyorum.com/media/blog/1b9d0caec0bcd45d69a4b2b8ba98d413.jpg",{"hid":64,"property":64,"content":65},"og:url","https://kodogreniyorum.com/blog/javascript-temelleri/javascript-temelleri-degiskenler-veri-tipleri-ve-ornekler",{"hid":67,"name":67,"content":68},"twitter:card","summary_large_image",{"hid":70,"name":70,"content":56},"twitter:title",{"hid":72,"name":72,"content":59},"twitter:description",{"hid":74,"name":74,"content":62},"twitter:image",[76,78],{"rel":77,"href":65},"canonical",{"rel":79,"href":80},"amphtml","https://amp.kodogreniyorum.com/blog/javascript-temelleri/javascript-temelleri-degiskenler-veri-tipleri-ve-ornekler",["Reactive",82],{"@context":83,"@graph":84},"https://schema.org",[85,98],{"@type":86,"headline":10,"image":62,"author":87,"publisher":90,"datePublished":14,"dateModified":14,"mainEntityOfPage":96,"description":11},"BlogPosting",{"@type":88,"name":21,"url":89},"Person","https://kodogreniyorum.com/yazarlar/mert-kilicoglu",{"@type":91,"name":47,"logo":92},"Organization",{"@type":93,"url":94,"width":95,"height":95},"ImageObject","https://kodogreniyorum.com/img/icons/favicon.png",32,{"@type":97,"@id":65},"WebPage",{"@type":99,"itemListElement":100},"BreadcrumbList",[101,106,110,113],{"@type":102,"position":103,"name":104,"item":105},"ListItem",1,"Ana Sayfa","https://kodogreniyorum.com",{"@type":102,"position":107,"name":108,"item":109},2,"Blog","https://kodogreniyorum.com/blog",{"@type":102,"position":111,"name":17,"item":112},3,"https://kodogreniyorum.com/blog/javascript-temelleri",{"@type":102,"position":114,"name":7,"item":65},4]