{"id":19041,"date":"2025-04-24T04:45:13","date_gmt":"2025-04-24T01:45:13","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/javascript-hoisting-detayli-anlatim-ve-ornekler\/"},"modified":"2025-04-24T04:45:13","modified_gmt":"2025-04-24T01:45:13","slug":"javascript-hoisting-detayli-anlatim-ve-ornekler","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/javascript-hoisting-detayli-anlatim-ve-ornekler\/","title":{"rendered":"JavaScript Hoisting: Detayl\u0131 Anlat\u0131m ve \u00d6rnekler"},"content":{"rendered":"<p><body><\/p>\n<p>JavaScript Hoisting: Detayl\u0131 Anlat\u0131m ve \u00d6rnekler<\/p>\n<p>Merhaba! Ben Fatih Soysal ve bug\u00fcn JavaScript&#8217;te s\u0131k kar\u015f\u0131la\u015f\u0131lan, ancak tam olarak anla\u015f\u0131lamayan bir kavram olan &#8220;Hoisting&#8221;i detayl\u0131 bir \u015fekilde ele alaca\u011f\u0131z.  Hoisting, JavaScript&#8217;in \u00e7al\u0131\u015fma zaman\u0131 davran\u0131\u015f\u0131n\u0131 anlamak i\u00e7in olduk\u00e7a \u00f6nemlidir.  \u00d6ncelikle, hoisting&#8217;in ne oldu\u011funu basit\u00e7e a\u00e7\u0131klayal\u0131m:  JavaScript yorumlay\u0131c\u0131s\u0131, kodun \u00e7al\u0131\u015ft\u0131r\u0131lmadan \u00f6nce de\u011fi\u015fken ve fonksiyon tan\u0131mlar\u0131n\u0131 kodun en \u00fcst\u00fcne &#8220;kald\u0131r\u0131r&#8221;. Bu, kodun yaz\u0131ld\u0131\u011f\u0131 s\u0131raya g\u00f6re de\u011fil, beyan edildi\u011fi s\u0131raya g\u00f6re \u00e7al\u0131\u015ft\u0131\u011f\u0131 anlam\u0131na gelir.  Ancak bu, de\u011fi\u015fkenlere ve fonksiyonlara de\u011fer atamas\u0131n\u0131 da yukar\u0131ya ta\u015f\u0131d\u0131\u011f\u0131 anlam\u0131na gelmez.  Bu durum bazen beklenmedik sonu\u00e7lara yol a\u00e7abilir.<\/p>\n<h2>De\u011fi\u015fken Hoisting&#8217;i<\/h2>\n<p>\u00d6ncelikle de\u011fi\u015fken hoisting&#8217;ini ele alal\u0131m.  Bir de\u011fi\u015fkeni tan\u0131mlamadan \u00f6nce kullanmaya \u00e7al\u0131\u015f\u0131rsan\u0131z,  JavaScript  <code>undefined<\/code> de\u011ferini d\u00f6nd\u00fcr\u00fcr. Bunun nedeni, de\u011fi\u015fkenin deklarasyonunun kodun ba\u015f\u0131na ta\u015f\u0131nmas\u0131, ancak de\u011fer atamas\u0131n\u0131n ta\u015f\u0131nmamas\u0131d\u0131r.  A\u015fa\u011f\u0131daki \u00f6rne\u011fe bakal\u0131m:<\/p>\n<pre><code class=\"language-javascript\">\nconsole.log(myVar); \/\/ undefined \u00e7\u0131kt\u0131s\u0131 verir\nvar myVar = 10; \n<\/code><\/pre>\n<p>Yukar\u0131daki kodda, <code>myVar<\/code> de\u011fi\u015fkenini tan\u0131mlamadan \u00f6nce konsola yazd\u0131rmaya \u00e7al\u0131\u015f\u0131yoruz.  JavaScript, <code>myVar<\/code>&#8216;\u0131 hoisting yapar ve bu nedenle bir hata vermez. Ancak de\u011fi\u015fkene hen\u00fcz bir de\u011fer atanmad\u0131\u011f\u0131 i\u00e7in <code>undefined<\/code> \u00e7\u0131kt\u0131s\u0131 al\u0131r\u0131z. Bu durumu daha iyi anlamak i\u00e7in, JavaScript&#8217;in asl\u0131nda arka planda ne yapt\u0131\u011f\u0131n\u0131 d\u00fc\u015f\u00fcnelim:<\/p>\n<pre><code class=\"language-javascript\">\nvar myVar; \/\/ hoisting sonras\u0131 durum\nconsole.log(myVar); \/\/ undefined\nmyVar = 10;\n<\/code><\/pre>\n<p>G\u00f6r\u00fcld\u00fc\u011f\u00fc gibi, JavaScript yorumlay\u0131c\u0131s\u0131, <code>var myVar = 10;<\/code> sat\u0131r\u0131n\u0131,  <code>var myVar;<\/code> \u015feklinde kodun ba\u015f\u0131na ta\u015f\u0131m\u0131\u015ft\u0131r.  Ancak <code>myVar = 10;<\/code> k\u0131sm\u0131 ta\u015f\u0131nmam\u0131\u015ft\u0131r.  Sonu\u00e7 olarak,  <code>console.log(myVar);<\/code> sat\u0131r\u0131  <code>undefined<\/code> de\u011ferini g\u00f6r\u00fcnt\u00fcler.<\/p>\n<h2>Fonksiyon Hoisting&#8217;i<\/h2>\n<p>Fonksiyon hoisting&#8217;i de\u011fi\u015fken hoisting&#8217;inden biraz farkl\u0131d\u0131r.  JavaScript&#8217;te, fonksiyon deklarasyonlar\u0131 (fonksiyon ifadeleri de\u011fil) kodun ba\u015f\u0131na tamamen ta\u015f\u0131n\u0131r. Yani, fonksiyonu tan\u0131mlamadan \u00f6nce \u00e7a\u011f\u0131rabilirsiniz ve bu durumda sorunsuz \u00e7al\u0131\u015f\u0131r.  \u015eimdi bir \u00f6rne\u011fe bakal\u0131m:<\/p>\n<pre><code class=\"language-javascript\">\nmyFunction(); \/\/ \"Merhaba D\u00fcnya!\" \u00e7\u0131kt\u0131s\u0131 verir\n\nfunction myFunction() {\n  console.log(\"Merhaba D\u00fcnya!\");\n}\n<\/code><\/pre>\n<p>Bu kodda, <code>myFunction()<\/code> fonksiyonunu tan\u0131mlamadan \u00f6nce \u00e7a\u011f\u0131r\u0131yoruz.  Ancak kod hata vermez ve &#8220;Merhaba D\u00fcnya!&#8221; \u00e7\u0131kt\u0131s\u0131n\u0131 al\u0131r\u0131z.  \u00c7\u00fcnk\u00fc JavaScript, <code>myFunction<\/code> fonksiyonunun tan\u0131m\u0131n\u0131 kodun ba\u015f\u0131na ta\u015f\u0131r.  Bu, fonksiyon ifadeleri i\u00e7in ge\u00e7erli de\u011fildir. Fonksiyon ifadeleri hoisting yap\u0131lmaz ve tan\u0131mlanmadan \u00f6nce \u00e7a\u011fr\u0131l\u0131rlarsa hata verirler.<\/p>\n<h2>Hoisting&#8217;in Olas\u0131 Sorunlar\u0131<\/h2>\n<p>Hoisting, kod okunabilirli\u011fini azaltabilir ve beklenmedik hatalara yol a\u00e7abilir.  Bu nedenle, de\u011fi\u015fken ve fonksiyonlar\u0131n\u0131z\u0131 kodunuzun ba\u015f\u0131nda tan\u0131mlaman\u0131z, daha temiz ve anla\u015f\u0131l\u0131r bir kod yazman\u0131za yard\u0131mc\u0131 olur.  Bu, kodun daha kolay hata ay\u0131klanmas\u0131n\u0131 ve bak\u0131m\u0131n\u0131n yap\u0131lmas\u0131n\u0131 sa\u011flar.  Ayr\u0131ca,  <a href=\"https:\/\/fatihsoysal.com\">kendi web sitemde<\/a>  JavaScript ile ilgili daha fazla makale bulabilirsiniz.<\/p>\n<p><strong>\u00d6nemli Not:<\/strong>  <code>let<\/code> ve <code>const<\/code> ile tan\u0131mlanan de\u011fi\u015fkenler hoisting yap\u0131lmaz.  Bunlar\u0131 tan\u0131mlamadan \u00f6nce kullanmaya \u00e7al\u0131\u015f\u0131rsan\u0131z, bir &#8220;ReferenceError&#8221; hatas\u0131 al\u0131rs\u0131n\u0131z.<\/p>\n<p>Umar\u0131m bu makale, JavaScript hoisting&#8217;ini anlamak i\u00e7in size yard\u0131mc\u0131 olmu\u015ftur. Daha fazla bilgi i\u00e7in a\u015fa\u011f\u0131daki kaynaklara g\u00f6z atabilirsiniz:<\/p>\n<ul>\n<li><a href=\"https:\/\/developer.mozilla.org\/en-US\/docs\/Glossary\/Hoisting\">Mozilla Developer Network &#8211; Hoisting<\/a><\/li>\n<li><a href=\"https:\/\/dev.to\/imranmind\/understanding-javascript-hoisting-with-examples-21fg\">Dev.to &#8211; Understanding JavaScript Hoisting with Examples<\/a><\/li>\n<\/ul>\n<p>#Etiketler: JavaScript, Hoisting, De\u011fi\u015fken, Fonksiyon, JavaScript Hoisting \u00d6rnekleri, JavaScript Hoisting A\u00e7\u0131klamas\u0131, Programlama, Web Geli\u015ftirme, let, const, var, undefined, ReferenceError<br \/>\n<\/body><br \/>\n<\/html><\/p>\n","protected":false},"excerpt":{"rendered":"JavaScript Hoisting: Detayl\u0131 Anlat\u0131m ve \u00d6rnekler Merhaba! Ben Fatih Soysal ve bug\u00fcn JavaScript&#8217;te s\u0131k kar\u015f\u0131la\u015f\u0131lan, ancak tam olarak&hellip;","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":[1],"tags":[],"class_list":{"0":"post-19041","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-genel","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 Hoisting: Detayl\u0131 Anlat\u0131m ve \u00d6rnekler<\/title>\n<meta name=\"description\" content=\"Merhaba! Ben Fatih Soysal ve bug\u00fcn JavaScript&#039;te s\u0131k kar\u015f\u0131la\u015f\u0131lan, ancak tam olarak anla\u015f\u0131lamayan bir kavram olan &quot;Hoisting&quot;i detayl\u0131 bir \u015fekilde ele alaca\u011f\u0131z. Hoisting, JavaScript&#039;in \u00e7al\u0131\u015fma zaman\u0131 davran\u0131\u015f\u0131n\u0131 anlamak i\u00e7in olduk\u00e7a \u00f6nemlidir. \u00d6ncelikle, hoisting&#039;in ne oldu\u011funu basit\u00e7e a\u00e7\u0131klayal\u0131m: JavaScript yorumlay\u0131c\u0131s\u0131, kodun \u00e7al\u0131\u015ft\u0131r\u0131lmadan \u00f6nce de\u011fi\u015fken ve fonksiyon tan\u0131mlar\u0131n\u0131 kodun en \u00fcst\u00fcne &quot;kald\u0131r\u0131r&quot;. Bu, kodun yaz\u0131ld\u0131\u011f\u0131 s\u0131raya g\u00f6re de\u011fil, beyan edildi\u011fi s\u0131raya g\u00f6re \u00e7al\u0131\u015ft\u0131\u011f\u0131 anlam\u0131na gelir. Ancak bu, de\u011fi\u015fkenlere ve fonksiyonlara de\u011fer atamas\u0131n\u0131 da yukar\u0131ya ta\u015f\u0131d\u0131\u011f\u0131 anlam\u0131na gelmez. Bu durum bazen beklenmedik sonu\u00e7lara yol a\u00e7abilir.\" \/>\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\/javascript-hoisting-detayli-anlatim-ve-ornekler\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"JavaScript Hoisting: Detayl\u0131 Anlat\u0131m ve \u00d6rnekler\" \/>\n<meta property=\"og:description\" content=\"Merhaba! Ben Fatih Soysal ve bug\u00fcn JavaScript&#039;te s\u0131k kar\u015f\u0131la\u015f\u0131lan, ancak tam olarak anla\u015f\u0131lamayan bir kavram olan &quot;Hoisting&quot;i detayl\u0131 bir \u015fekilde ele alaca\u011f\u0131z. Hoisting, JavaScript&#039;in \u00e7al\u0131\u015fma zaman\u0131 davran\u0131\u015f\u0131n\u0131 anlamak i\u00e7in olduk\u00e7a \u00f6nemlidir. \u00d6ncelikle, hoisting&#039;in ne oldu\u011funu basit\u00e7e a\u00e7\u0131klayal\u0131m: JavaScript yorumlay\u0131c\u0131s\u0131, kodun \u00e7al\u0131\u015ft\u0131r\u0131lmadan \u00f6nce de\u011fi\u015fken ve fonksiyon tan\u0131mlar\u0131n\u0131 kodun en \u00fcst\u00fcne &quot;kald\u0131r\u0131r&quot;. Bu, kodun yaz\u0131ld\u0131\u011f\u0131 s\u0131raya g\u00f6re de\u011fil, beyan edildi\u011fi s\u0131raya g\u00f6re \u00e7al\u0131\u015ft\u0131\u011f\u0131 anlam\u0131na gelir. Ancak bu, de\u011fi\u015fkenlere ve fonksiyonlara de\u011fer atamas\u0131n\u0131 da yukar\u0131ya ta\u015f\u0131d\u0131\u011f\u0131 anlam\u0131na gelmez. Bu durum bazen beklenmedik sonu\u00e7lara yol a\u00e7abilir.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/javascript-hoisting-detayli-anlatim-ve-ornekler\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2025-04-24T01:45:13+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=\"3 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/javascript-hoisting-detayli-anlatim-ve-ornekler\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/javascript-hoisting-detayli-anlatim-ve-ornekler\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"JavaScript Hoisting: Detayl\u0131 Anlat\u0131m ve \u00d6rnekler\",\"datePublished\":\"2025-04-24T01:45:13+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/javascript-hoisting-detayli-anlatim-ve-ornekler\/\"},\"wordCount\":568,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/javascript-hoisting-detayli-anlatim-ve-ornekler\/#respond\"]}],\"copyrightYear\":\"2025\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/javascript-hoisting-detayli-anlatim-ve-ornekler\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/javascript-hoisting-detayli-anlatim-ve-ornekler\/\",\"name\":\"JavaScript Hoisting: Detayl\u0131 Anlat\u0131m ve \u00d6rnekler\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2025-04-24T01:45:13+00:00\",\"description\":\"Merhaba! Ben Fatih Soysal ve bug\u00fcn JavaScript'te s\u0131k kar\u015f\u0131la\u015f\u0131lan, ancak tam olarak anla\u015f\u0131lamayan bir kavram olan \\\"Hoisting\\\"i detayl\u0131 bir \u015fekilde ele alaca\u011f\u0131z. Hoisting, JavaScript'in \u00e7al\u0131\u015fma zaman\u0131 davran\u0131\u015f\u0131n\u0131 anlamak i\u00e7in olduk\u00e7a \u00f6nemlidir. \u00d6ncelikle, hoisting'in ne oldu\u011funu basit\u00e7e a\u00e7\u0131klayal\u0131m: JavaScript yorumlay\u0131c\u0131s\u0131, kodun \u00e7al\u0131\u015ft\u0131r\u0131lmadan \u00f6nce de\u011fi\u015fken ve fonksiyon tan\u0131mlar\u0131n\u0131 kodun en \u00fcst\u00fcne \\\"kald\u0131r\u0131r\\\". Bu, kodun yaz\u0131ld\u0131\u011f\u0131 s\u0131raya g\u00f6re de\u011fil, beyan edildi\u011fi s\u0131raya g\u00f6re \u00e7al\u0131\u015ft\u0131\u011f\u0131 anlam\u0131na gelir. Ancak bu, de\u011fi\u015fkenlere ve fonksiyonlara de\u011fer atamas\u0131n\u0131 da yukar\u0131ya ta\u015f\u0131d\u0131\u011f\u0131 anlam\u0131na gelmez. Bu durum bazen beklenmedik sonu\u00e7lara yol a\u00e7abilir.\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/javascript-hoisting-detayli-anlatim-ve-ornekler\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/javascript-hoisting-detayli-anlatim-ve-ornekler\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/javascript-hoisting-detayli-anlatim-ve-ornekler\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"JavaScript Hoisting: Detayl\u0131 Anlat\u0131m ve \u00d6rnekler\"}]},{\"@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 Hoisting: Detayl\u0131 Anlat\u0131m ve \u00d6rnekler","description":"Merhaba! Ben Fatih Soysal ve bug\u00fcn JavaScript'te s\u0131k kar\u015f\u0131la\u015f\u0131lan, ancak tam olarak anla\u015f\u0131lamayan bir kavram olan \"Hoisting\"i detayl\u0131 bir \u015fekilde ele alaca\u011f\u0131z. Hoisting, JavaScript'in \u00e7al\u0131\u015fma zaman\u0131 davran\u0131\u015f\u0131n\u0131 anlamak i\u00e7in olduk\u00e7a \u00f6nemlidir. \u00d6ncelikle, hoisting'in ne oldu\u011funu basit\u00e7e a\u00e7\u0131klayal\u0131m: JavaScript yorumlay\u0131c\u0131s\u0131, kodun \u00e7al\u0131\u015ft\u0131r\u0131lmadan \u00f6nce de\u011fi\u015fken ve fonksiyon tan\u0131mlar\u0131n\u0131 kodun en \u00fcst\u00fcne \"kald\u0131r\u0131r\". Bu, kodun yaz\u0131ld\u0131\u011f\u0131 s\u0131raya g\u00f6re de\u011fil, beyan edildi\u011fi s\u0131raya g\u00f6re \u00e7al\u0131\u015ft\u0131\u011f\u0131 anlam\u0131na gelir. Ancak bu, de\u011fi\u015fkenlere ve fonksiyonlara de\u011fer atamas\u0131n\u0131 da yukar\u0131ya ta\u015f\u0131d\u0131\u011f\u0131 anlam\u0131na gelmez. Bu durum bazen beklenmedik sonu\u00e7lara yol a\u00e7abilir.","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\/javascript-hoisting-detayli-anlatim-ve-ornekler\/","og_locale":"tr_TR","og_type":"article","og_title":"JavaScript Hoisting: Detayl\u0131 Anlat\u0131m ve \u00d6rnekler","og_description":"Merhaba! Ben Fatih Soysal ve bug\u00fcn JavaScript'te s\u0131k kar\u015f\u0131la\u015f\u0131lan, ancak tam olarak anla\u015f\u0131lamayan bir kavram olan \"Hoisting\"i detayl\u0131 bir \u015fekilde ele alaca\u011f\u0131z. Hoisting, JavaScript'in \u00e7al\u0131\u015fma zaman\u0131 davran\u0131\u015f\u0131n\u0131 anlamak i\u00e7in olduk\u00e7a \u00f6nemlidir. \u00d6ncelikle, hoisting'in ne oldu\u011funu basit\u00e7e a\u00e7\u0131klayal\u0131m: JavaScript yorumlay\u0131c\u0131s\u0131, kodun \u00e7al\u0131\u015ft\u0131r\u0131lmadan \u00f6nce de\u011fi\u015fken ve fonksiyon tan\u0131mlar\u0131n\u0131 kodun en \u00fcst\u00fcne \"kald\u0131r\u0131r\". Bu, kodun yaz\u0131ld\u0131\u011f\u0131 s\u0131raya g\u00f6re de\u011fil, beyan edildi\u011fi s\u0131raya g\u00f6re \u00e7al\u0131\u015ft\u0131\u011f\u0131 anlam\u0131na gelir. Ancak bu, de\u011fi\u015fkenlere ve fonksiyonlara de\u011fer atamas\u0131n\u0131 da yukar\u0131ya ta\u015f\u0131d\u0131\u011f\u0131 anlam\u0131na gelmez. Bu durum bazen beklenmedik sonu\u00e7lara yol a\u00e7abilir.","og_url":"https:\/\/fatihsoysal.com\/blog\/javascript-hoisting-detayli-anlatim-ve-ornekler\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2025-04-24T01:45:13+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"3 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/javascript-hoisting-detayli-anlatim-ve-ornekler\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/javascript-hoisting-detayli-anlatim-ve-ornekler\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"JavaScript Hoisting: Detayl\u0131 Anlat\u0131m ve \u00d6rnekler","datePublished":"2025-04-24T01:45:13+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/javascript-hoisting-detayli-anlatim-ve-ornekler\/"},"wordCount":568,"commentCount":0,"publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihsoysal.com\/blog\/javascript-hoisting-detayli-anlatim-ve-ornekler\/#respond"]}],"copyrightYear":"2025","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/javascript-hoisting-detayli-anlatim-ve-ornekler\/","url":"https:\/\/fatihsoysal.com\/blog\/javascript-hoisting-detayli-anlatim-ve-ornekler\/","name":"JavaScript Hoisting: Detayl\u0131 Anlat\u0131m ve \u00d6rnekler","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2025-04-24T01:45:13+00:00","description":"Merhaba! Ben Fatih Soysal ve bug\u00fcn JavaScript'te s\u0131k kar\u015f\u0131la\u015f\u0131lan, ancak tam olarak anla\u015f\u0131lamayan bir kavram olan \"Hoisting\"i detayl\u0131 bir \u015fekilde ele alaca\u011f\u0131z. Hoisting, JavaScript'in \u00e7al\u0131\u015fma zaman\u0131 davran\u0131\u015f\u0131n\u0131 anlamak i\u00e7in olduk\u00e7a \u00f6nemlidir. \u00d6ncelikle, hoisting'in ne oldu\u011funu basit\u00e7e a\u00e7\u0131klayal\u0131m: JavaScript yorumlay\u0131c\u0131s\u0131, kodun \u00e7al\u0131\u015ft\u0131r\u0131lmadan \u00f6nce de\u011fi\u015fken ve fonksiyon tan\u0131mlar\u0131n\u0131 kodun en \u00fcst\u00fcne \"kald\u0131r\u0131r\". Bu, kodun yaz\u0131ld\u0131\u011f\u0131 s\u0131raya g\u00f6re de\u011fil, beyan edildi\u011fi s\u0131raya g\u00f6re \u00e7al\u0131\u015ft\u0131\u011f\u0131 anlam\u0131na gelir. Ancak bu, de\u011fi\u015fkenlere ve fonksiyonlara de\u011fer atamas\u0131n\u0131 da yukar\u0131ya ta\u015f\u0131d\u0131\u011f\u0131 anlam\u0131na gelmez. Bu durum bazen beklenmedik sonu\u00e7lara yol a\u00e7abilir.","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/javascript-hoisting-detayli-anlatim-ve-ornekler\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/javascript-hoisting-detayli-anlatim-ve-ornekler\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/javascript-hoisting-detayli-anlatim-ve-ornekler\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"JavaScript Hoisting: Detayl\u0131 Anlat\u0131m ve \u00d6rnekler"}]},{"@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\/19041","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=19041"}],"version-history":[{"count":0,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/19041\/revisions"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=19041"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=19041"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=19041"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}