Hoisting nedir?

Cevap

Hoisting, değişken ve fonksiyon tanımlarının kod çalışmadan önce kapsamlarının en üstüne alınmış gibi davranmasıdır. Yalnızca tanım taşınır, atama taşınmaz.

console.log(a); // undefined (var hoist edilir, değeri değil)
var a = 1;

selam();        // çalışır: fonksiyon bildirimi tamamen hoist edilir
function selam() { console.log("merhaba"); }

console.log(b); // ReferenceError: Temporal Dead Zone
let b = 2;

topla(1, 2);    // TypeError: topla is not a function
var topla = (x, y) => x + y;
  • var: hoist edilir, undefined ile başlar
  • let / const / class: hoist edilir ama tanım satırına kadar erişilemez (TDZ)
  • Fonksiyon bildirimi: gövdesiyle birlikte hoist edilir
  • Fonksiyon ifadesi / arrow function: değişken kuralına uyar
  1. var, let ve const arasındaki fark nedir?KolayJavaScriptFrontend
  2. == ile === arasındaki fark nedir?KolayJavaScriptFrontend
  3. Closure nedir? Bir örnekle açıklayın.OrtaJavaScriptFrontend
  4. Aşağıdaki kodun çıktısı nedir? (Event loop)OrtaJavaScriptFrontend
  5. this anahtar kelimesi nasıl belirlenir? Arrow function'larda ne değişir?OrtaJavaScriptFrontend
  6. Bir debounce fonksiyonu yazın.ZorJavaScriptFrontend

Bu konuda başka bir soru biliyor musun?

Mülakatta karşılaştığın soruları ekle, onaylandıktan sonra yayına alınsın.

Soru ekle