JavaScript’te hoisting nedir?
JavaScript'te Hoisting Nedir?
Hoisting, JavaScript'te değişkenlerin ve fonksiyonların, kodun çalışmasından önce "yukarı kaldırılması" olayıdır. Yani, bir değişken veya fonksiyon tanımlandığı yerden bağımsız olarak kullanılabilir.Hoisting'in Özellikleri
- Değişkenler: Değişken tanımlarının yapıldığı alan, kodun en üstüne alınır. Ancak, bu sadece tanım için geçerlidir, değer ataması yapılmaz.
- Fonksiyonlar: Fonksiyon ifadeleri için, tanımın tamamı hoisting edilir. Bu, fonksiyonun herhangi bir yerden çağrılabilmesini sağlar.
- Let ve Const: ES6 ile gelen let ve const ile tanımlanan değişkenler hoisting'e tabi olmakla birlikte, başlangıçta "temiz bir referans" olmadığından, kullanıldıklarında hata verirler.
Örnekler
Değişken örneği:
console.log(a); // undefined var a = 5; console.log(a); // 5
Fonksiyon örneği:
myFunction(); // "Hello"
function myFunction() {
console.log("Hello");
}
Hoisting, kodun akışında dikkat edilmesi gereken bir kavramdır ve mantıksal hatalara yol açabilir.
Cevap yazmak için lütfen
.
Aynı kategoriden
- Bilgisayar programlama dilinde string nedir?
- SQL’de GROUP BY ve HAVING kullanımı nasıl yapılır?
- Mühendislik öğrencileri için programlama dili öğrenirken hangi kaynakları kullanmalı?
- JavaScript’te arrow functions kullanırken ne zaman normal functionlardan kaçınmalıyım?
- Python’da for Döngüsü Nasıl Çalışır? (v2)
- Performans bütçesi (performance budget) nasıl tanımlanır ve takip edilir?
- Makine mühendisliğinde en çok kullanılan programlama dilleri hangileridir?
- Python programlamada kullanılan if-else yapısı nasıl çalışır?
- Hangi programlama dilleri başlangıç düzeyindeki bir kullanıcı için en uygundur?
- En iyi ücretsiz video düzenleme yazılımı hangisidir?
- Python’da bir dictionary’nin elemanlarını nasıl döngü ile gezebilirim?
- Arduino ile Bluetooth üzerinden veri gönderme nasıl yapılır?
- Yazılım Geliştirmede Test (Testing) Aşamasının Önemi Nedir?
- Python’da bir string içinde belirli bir karakterin hangi indexlerde geçtiğini nasıl bulabilirim?
- Kodlama nasıl öğrenilir?
- Yazılım güvenliği açısından en önemli kriterler nelerdir?
- Sürüm Kontrol (Version Control) Sistemleri Neden Önemlidir?
- Yapay zeka algoritmalarının büyük veri analitiği üzerindeki etkileri hangi alanlarda en belirgin şekilde ortaya çıkmaktadır
- Yapay zeka ve robotik alanında gelecekte hangi yenilikler ve gelişmeler bekleniyor?
- Python’da bir stringi tersten nasıl yazdırabiliriz?
