İçeriğe geç

Hoisting Nedir?

Hoisting Nedir?

"Vue.js hoisting" terimi, JavaScript'in kavramlarından biri olan "hoisting" ile ilişkilidir. Ancak, "hoisting" aslında Vue.js framework'ü ile doğrudan bağlantılı değildir. Vue.js, bir JavaScript framework'üdür ve JavaScript dilinin üzerine inşa edilmiştir.

Hoisting, JavaScript'in çalışma mantığından kaynaklanan bir kavramdır. JavaScript yürütülmeden önce değişken tanımlamaları ve fonksiyon tanımlamaları bellekte yukarıya (üst kısma) çıkarılır. Bu, bir değişkeni veya fonksiyonu kullanmadan önce bile bu değişkenin veya fonksiyonun tanımlı olduğu anlamına gelir.

Örneğin:

JavaScript
console.log(x); // undefined
var x = 5;
console.log(x); // 5

Yukarıdaki örnekte, var x = 5; ifadesinden önce console.log(x); çağrıldığında, x değişkeninin tanımı (var x) yukarı taşınmış ama değeri (5) henüz atanmamış olduğu için sonuç undefined olur.

Vue.js framework'üyle ilgili olarak, Vue.js kendisi hoisting'e özel bir özellik sunmaz. Ancak, Vue.js'in JavaScript temelli olduğunu ve genel JavaScript kavramları ile etkileşimde bulunduğunu unutmamak önemlidir. Bu nedenle, Vue.js kodlarınızı yazarken JavaScript dilinin hoisting özelliklerini anlamak yararlı olabilir.

Not: Yalnızca var ile tanımlanan değişkenler undefined değeriyle yukarı taşınır. let ve const de yukarı taşınır ancak tanımlandıkları satıra kadar erişilemez (Temporal Dead Zone); bu durumda console.log(x) bir ReferenceError fırlatır.

Bu yazıyla ilgili bir sorunuz mu var? Bana yazın