Değişkenler: let const var ve Kapsam
Değişkenleri let, const ve var ile bildirin. Blok kapsamını ve işlev kapsamını öğrenin; çoğu değer için const'un neden tercih edildiğini anlayın.
Değişkenler: let const var ve Kapsam, CoddyKit'te ücretsiz bir Frontend Academy dersidir. Bu, 4 dersinin 1. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Frontend Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Frontend Academy kursu toplamda 4 dersten oluşur.
Değişkenler Neden Kullanılır?
Değişkenler, değerleri yeniden kullanmanızı ve güncellemenizi, ayrıca onlara anlamlı adlar vermenizi sağlar. JavaScript'te değişken tanımlamanın üç yolu vardır: var (eski), let (modern, yeniden atanabilir) ve const (modern, sabit bağlama).
const — Varsayılan Seçim
Değişkene yeniden atama yapmayacaksanız const ile tanımlayınız. Bu, niyetinizi belirtir ve yanlışlıkla yeniden atama yapılmasını önler. Not: const yeniden bağlamayı önler; ancak nesneleri veya dizileri değişmez yapmaz.
const name = 'Alice'; // can't reassign
const PI = 3.14159;
const user = { age: 25 }; // object is mutable
user.age = 26; // OK — property change, not rebinding
// user = {}; // Error — can't reassign constlet — Yeniden Atama Gerektiğinde
Değer değişecekse let kullanınız: döngü sayaçları, birikimli toplamlar ve durum değişkenleri için uygundur. let blok kapsamına sahiptir; yalnızca kendisini çevreleyen en yakın { } bloğunun içinde var olur.
let score = 0;
score = score + 10; // OK
for (let i = 0; i < 3; i++) {
console.log(i); // 0, 1, 2
}
// console.log(i); // ReferenceError — i is out of scopevar — Eski Tanımlama Biçimi
var, işlev kapsamına sahiptir (blok kapsamına değil) ve işlevinin en üstüne taşınır. Bu durum fark edilmesi zor hatalara yol açar. Modern JavaScript'te var kullanmaktan kaçınınız; const ve let kullanmayı tercih ediniz.
function example() {
if (true) {
var x = 5; // function-scoped, not block-scoped
}
console.log(x); // 5 — still accessible here!
}Kapsam: Değişkenler Nerede Yaşar
Genel kapsam: Herhangi bir işlevin veya bloğun dışında tanımlanır ve her yerden erişilebilir. İşlev kapsamı: Bir işlevin içinde tanımlanır ve yalnızca o işlevin içinden erişilebilir. Blok kapsamı: { } içinde kullanılan let/const, yalnızca o bloğun içinden erişilebilir.
Yukarı Taşıma
Yukarı taşıma, derleme zamanında tanımlamaları kapsamlarının en üstüne taşır. var tanımlamaları yukarı taşınır ve undefined olarak başlatılır. let ve const yukarı taşınır ancak başlatılmaz; tanımlamadan önce bunlara erişmek bir Zamansal Ölü Bölge hatasına neden olur.
Değişkenleri Adlandırma
Açıklayıcı adlar kullanınız. Değişkenler ve işlevler için camelCase (userName), sabitler için BÜYÜK_ALT_ÇİZGİLİ_YAZIM (MAX_RETRIES) ve sınıflar için PascalCase (UserProfile) kullanınız. Döngülerdeki (i, j) kullanımlar dışında tek harfli adlardan kaçınınız.
Birden Çok Değişken Tanımlama
Birden çok değişkeni tek bir ifadede tanımlayabilirsiniz; ancak genellikle her değişken için bir tanımlama kullanmak daha açıktır. Virgüllü biçimden kaçınınız; bu biçim kapsamı ve türleri belirsizleştirebilir.
// Less clear:
let a = 1, b = 2, c = 3;
// Preferred:
const MAX = 10;
let count = 0;
const label = 'Score';Zamansal Ölü Bölge (TDZ)
Koddaki tanımlamasından önce bir let veya const değişkenine erişmek ReferenceError hatası oluşturur. Bloğun başlangıcı ile tanımlama arasındaki bu bölgeye TDZ adı verilir.
console.log(value); // ReferenceError: Cannot access 'value' before initialization
const value = 42;Diziler ve Nesnelerle const
const, değişkene yeniden atama yapılmasını önler; ancak başvurulan değer yine de değiştirilebilir. Sığ bir değişmez nesne için Object.freeze(), derin değişmezlik içinse değişmez kalıplar kullanınız.
const items = [1, 2, 3];
items.push(4); // OK — mutates the array
items = []; // Error — can't reassign const
const config = Object.freeze({ maxAge: 30 });
config.maxAge = 99; // Silently fails in non-strict modelet Yerine Neden const Tercih Edilmeli?
Varsayılan olarak const kullanmak, kodu anlamayı kolaylaştırır: değişkene başka bir yerde yeniden atama yapılmayacağını bilirsiniz. Yalnızca gerçekten yeniden atama yapmanız gerektiğinde let kullanınız. Bu alışkanlık hataları azaltır ve okunabilirliği artırır.
Kısa Kontrol
let ile var arasındaki temel fark nedir?
Özet: Değişkenler ve Kapsam
Yeniden atanmayacak değerler için const kullanmayı tercih ediniz. Değiştirilebilir değerler için let kullanınız. var kullanmaktan kaçınınız. Blok kapsamı (let/const), değişkenleri kendi bloğuyla sınırlar. Yukarı taşıma işleminde var, undefined olarak başlatılır; let/const'a çok erken erişilirse TDZ hatası oluşur.
Sıkça Sorulan Sorular
“Değişkenler: let const var ve Kapsam” dersi ücretsiz mi?
Evet — “Değişkenler: let const var ve Kapsam” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Frontend Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Frontend Academy kursu toplamda 4 dersten oluşur.
“Değişkenler: let const var ve Kapsam” dersinde ne öğreneceğim?
Değişkenleri let, const ve var ile bildirin. Blok kapsamını ve işlev kapsamını öğrenin; çoğu değer için const'un neden tercih edildiğini anlayın. Frontend Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
Frontend Academy öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te Frontend Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 1. dersidir.
“Değişkenler: let const var ve Kapsam” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu Frontend Academy dersinde kod yazıp çalıştırabilir miyim?
Evet. Her Frontend Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- Değişkenler: let const var ve Kapsam
- Veri Türleri: string number boolean null undefined
- İşlevler: Bildirimler, İfadeler ve Ok İşlevleri
- Denetim Akışı: if else switch for while