JavaScript Değişkeni: Örnekle Bir Değeri Bildirme, Atama

⚡ Akıllı Özet

JavaKomut dosyası değişkenleri, adlar ve sayılar gibi değerleri veya bir ifadenin sonucunu saklar. Bir değişkeni `var`, `let` veya `const` ile bildirmek, komut dosyasının geri kalanının okuyup güncelleyebileceği adlandırılmış bir alanı ayırır.

  • 🔘 beyanı: `var`, `let` veya `const` anahtar kelimeleri, herhangi bir kod satırı onu okumadan veya yazmadan önce adı oluşturur.
  • ☑️ Görev: Tek bir eşittir işareti, değişkenin değerini, tanımlama satırında veya daha sonra kopyalar.
  • adlandırma: İsimler bir harf, dolar işareti veya alt çizgi ile başlar ve büyük ve küçük harfler farklı sayılır.
  • 🧪 Modern anahtar kelimeler: `const` hiç değişmeyen değerler için, `let` değişen değerler için kullanılır ve `var` çoğunlukla eski betiklerde varlığını sürdürür.
  • Dürbün: `let` ve `const` parantez içinde kalırken, `var` tüm çevreleyen fonksiyona ulaşır.
  • 📌 Yaygın hatalar: Bir sabiti yeniden atamak, bir let'i çok erken okumak veya each anahtar kelimesini atlamak farklı bir hataya neden olur.

Bildirmek JavaKomut dosyası değişkeni ve ona bir değer atama

Değişkenler, değerleri (isim = “John”) veya ifadeleri (toplam = x + y) saklamak için kullanılır. Bir komut dosyasının daha sonra kullanmak üzere sakladığı her değer (kullanıcı adı, toplam, evet-hayır işareti gibi) bir değişkende bulunur; bu nedenle, değişkenleri doğru bir şekilde tanımlamak ve adlandırmak, öğrenilmesi gereken ilk beceridir. JavaSenaryo.

Değişkenleri Bildirin JavaSenaryo

Bir değişkeni kullanmadan önce, öncelikle onu tanımlamanız gerekir. Bir değişkeni şu şekilde tanımlamak için `var` anahtar kelimesini kullanmalısınız:

var name;

Bildirim tek başına sadece adı oluşturur, başka bir şey yapmaz. Bu noktada değişken mevcuttur ancak henüz içine bir değer atanmadığı için özel olarak "tanımlanmamış" değerini tutar.

⚠️ Sürüm notu: `var` orijinal bildirim anahtar kelimesidir ve hala her tarayıcıda çalışır. ES6 (2015) bunu ekledi. izin hem de constmodern kelimesinin anahtar kelimeleri JavaKomut dosyası kullanımları. Her ikisi de bu sayfanın aşağısında bulunan değişkenle karşılaştırılmıştır.

Değişkene Değer Atama

Değişkene, değişkeni bildirirken veya değişkeni bildirdikten sonra bir değer atayabilirsiniz.

var name = "John";

OR

var name;

name = "John";

Her iki yöntem de aynı sonuçla biter. Tek eşittir işareti ise... atama operatörüSağdaki değeri solundaki değişkene kopyalar. Eşitlik testi değildir; eşitlik testi == veya === şeklinde yazılır ve ilgili bölüme aittir. koşullu ifadeler.

Değişkenleri Adlandırma

Değişkenlere istediğiniz gibi isim verebilirsiniz, ancak değişkenlere açıklayıcı ve anlamlı isimler vermek iyi bir programlama uygulamasıdır. Ayrıca, değişken isimleri bir harfle başlamalı ve büyük/küçük harf duyarlı olmalıdır. Bu nedenle, studentname ve studentName değişkenleri farklıdır çünkü isimdeki n harfi farklıdır (n ve N).

Bir ismin yasal olup olmadığını belirleyen dört kural vardır:

  1. İlk karakter bir harf, dolar işareti veya alt çizgi olmalıdır; asla rakam olamaz.
  2. İlk karakterden sonra harfler, rakamlar, dolar işaretleri ve alt çizgiler kullanılabilir.
  3. Boşluklara izin verilmediği için, iki kelimelik bir fikir iki ayrı kelime olarak bırakılmak yerine, öğrenci adı şeklinde birleştiriliyor.
  4. `var`, `let`, `const`, `class` ve `return` gibi ayrılmış kelimeler isim olarak tekrar kullanılamaz.

Gelenek gereği JavaKomut dosyası adları camelCase kullanır, yani ilk kelime küçük harfle başlar ve sonraki her kelime büyük harfle başlar: firstName, totalPrice, isLoggedIn.

Aşağıdaki kod iki değişken tanımlar, bunlara beş aritmetik operatör uygular ve her sonucu sayfaya yazar. Bunu kendiniz deneyin:

<html>
<head>
<title>Variables!!!</title>
<script type="text/javascript">
var one = 22;
var two = 3;
var add = one + two;
var minus = one - two;
var multiply = one * two;
var divide = one/two;
	document.write("First No: = " + one + "<br />Second No: = " + two + " <br />");
	document.write(one + " + " + two + " = " + add + "<br/>");
	document.write(one + " - " + two + " = " + minus + "<br/>");
	document.write(one + " * " + two + " = " + multiply + "<br/>");
	document.write(one + " / " + two + " = " + divide + "<br/>");
</script>
</head>
<body>
</body>
</html>

Modern programlamada var, let ve const karşılaştırması JavaSenaryo

Sadece var olduğunda Javaİlk olarak yazılan bu betik, yeni başlayanları şaşırtan iki özelliğe sahip: sessizce yeniden tanımlanabiliyor ve blok sınırlarını dikkate almıyor. Bu iki sorunu gidermek için `let` ve `const` eklendi. Aşağıdaki tabloda bu üç anahtar kelime yan yana gösterilmiştir.

Davranış var izin const
kapsam Bütün fonksiyon Çevreleyen blok Çevreleyen blok
Yeniden atanabilir Evet Evet Yok hayır
Aynı kapsamda yeniden tanımlanabilir. Evet Yok hayır Yok hayır
Beyan satırında gerekli değer Yok hayır Yok hayır Evet
Bildirilmeden önce okuyun Tanımlanmamış değer döndürür. Referans Hatası Referans Hatası

Basit bir alışkanlık neredeyse her durumu kapsar: uzanıp almak... const Öncelikle, şuna geçin: izin Bir değerin gerçekten değişmesi gereken an, örneğin bir mağazanın içindeki bir sayacın değeri gibi. JavaKomut dosyası döngüleriVe yeni kod yazmak yerine eski kodu okumak için `var` değişkenini saklayın.

Değişken Kapsamlı ve Kaldırma İşlemleri JavaSenaryo

Kapsam, bir değişkenin hangi kod parçacığı bölümlerinde görülebileceğine karar verir. Bir `var` bildirimi, onu içeren fonksiyona aittir, bu nedenle o fonksiyon içindeki herhangi bir `if` veya `for` bloğundan bağımsızdır. Bir `let` veya `const` bildirimi, içinde bulunduğu parantez çiftine aittir ve bunların dışında kaybolur.

function demo() {
  if (true) {
    var wide = "visible throughout demo()";
    let narrow = "visible only inside these braces";
  }
  console.log(wide);
  console.log(narrow);
}

İlk console.log çıktısı metnini yazdırır. İkincisi ise ReferenceError hatası verir, çünkü if bloğu sona erdiğinde narrow değişkeni artık mevcut değildir.

kaldırma Bu, hikayenin ikinci yarısıdır. JavaKomut dosyası, bir kapsamdaki her bildirimi, o kapsamın tek bir satırını çalıştırmadan önce kaydeder. Bir değişken adı kaydedilir ve tanımsız olarak ayarlanır, bu nedenle erken okunması yasaldır ancak işe yaramaz. Bir let veya const adı değer olmadan kaydedilir ve bloğun başı ile bildirim satırı arasındaki boşluğa "boşluk" denir. zamansal ölü bölge.

console.log(a);
var a = 1;

console.log(b);
let b = 2;

İlk satırda "undefined" yazdırılıyor. Üçüncü satırda ise "Cannot access 'b' before initialization" hatasıyla karşılaşıyoruz; bu hata, let operatörünü var operatöründen daha güvenli kılıyor çünkü hatayı gizlemek yerine gerçek hataya işaret ediyor.

Bildirimde Sık Yapılan Hatalar JavaKomut dosyası değişkenleri

Değişkenleri öğrenirken yeni başlayanların konsol çıktısında gördüğü mesajların çoğu beş tanedir. Her biri belirli bir nedeni belirtir, bu nedenle çözüm genellikle tek bir satırda bulunur.

Konsol mesajı Sebeb olmak sabit
Sözdizimi Hatası: 'x' tanımlayıcısı zaten tanımlanmış. Bir kod bloğunda aynı isim için iki kez kullanılan `let` veya `const` ifadesi Mevcut değişkeni yeniden kullanın veya ikinci değişkeni yeniden adlandırın.
TypeError: Sabit değişkene atama Bir sabite yeni bir değer atandı. Değerin değişmesi gerekiyorsa, `let` ile tanımlayın.
ReferenceError: Başlatılmadan önce 'x'e erişilemiyor. Geçici ölü bölge içinde bir `let` veya `const` okundu. Okuma işlemini bildirim satırının altına taşıyın.
ReferenceError: x tanımlanmamış İsim hiç açıklanmadı veya yanlış yazıldı. Doğruluğunu belirtin veya yazım hatasını ve büyük/küçük harf kullanımını düzeltin.
Beklenen değerin yerine tanımsız bir değer görünüyor. Değişken tanımlandı ancak hiçbir zaman değer atanmadı. İlk okumadan önce bir değer atayın.

Bir dosyanın başına "use strict" eklemek, dördüncü durumun sessiz versiyonunu (hiç tanımlanmamış bir isme değer atama) görünür bir hataya dönüştürür; bu nedenle her yeni betikte yer almalıdır. Aynı değişken kuralları, değişmeden diğer dosyalara da aktarılır. diziler, nesnelerve sunucu tarafında yazılmış kod node.js.

SSS

Herhangi biri. JavaBetik dinamik olarak tiplendirilmiştir, bu nedenle bir değişken bir sayı, ardından bir dize, ardından bir nesne tutabilir. Bildirim bir ad ayırır, tür değil. Bir değişkenin herhangi bir anda ne tuttuğunu kontrol etmek için `typeof` kullanın.

JavaKomut dosyası, diğer kodların yanlışlıkla üzerine yazabileceği örtük bir global değişken oluşturur. Dosyanın başına "use strict" eklemek, aynı satırı ReferenceError'a dönüştürür, böylece hata sessizce yayılmak yerine hemen görünür.

`undefined`, değişkenin tanımlandığı ancak hiçbir zaman değer atanmadığı anlamına gelir. `null` ise "burada hiçbir şey yok" anlamına gelecek şekilde bilerek atanan bir değerdir. Her ikisi de yanlıştır (falsy), ancak `typeof undefined` "undefined" döndürürken `typeof null` "object" döndürür.

Artı operatörü, her iki taraf da bir dize olduğunda metni birleştirir; bu nedenle 22 + “3” “223” sonucunu verir. Aritmetik işlemler amaçlandığında önce Number() veya parseInt() ile dönüştürün. Alt programtrac"tion" ifadesinin metinsel bir anlamı yok, bu nedenle "3" − 1 doğru şekilde 2 sonucunu verir.

Evet. `const` ifadesi değeri değil, bağlamayı kilitler; bu nedenle `const` nesnesinin özellikleri ve `const` dizisinin elemanları hala değişebilir. Değişkenin kendisine yeniden değer atamak `TypeError` hatası verir. İçeriğin sabit kalması gerektiğinde `Object.freeze()` kullanın.

Modern editörlere entegre edilmiş yapay zeka asistanları, çevredeki bağlamdan bir anahtar kelime ve açıklayıcı bir ad önerir, sabit olması gereken bir değişkeni işaretler ve her kullanımı tek adımda yeniden adlandırır. Her öneriyi bir taslak olarak ele alın ve kapsamın doğru olduğunu doğrulayın.

Çoğu zaman evet. Yardımcı pilot Yakındaki kodu okur ve çevredeki stile uyan isimler önerir; bu da x veya temp gibi yer tutucuların değiştirilmesine yardımcı olur. RevHer ismi dikkatlice inceleyin, çünkü akıcı bir öneri bile yanlış şeyi tanımlayabilir.

`console.log()` geçerli değeri tarayıcı konsoluna yazdırır. Daha yakından incelemek için, Geliştirici Araçları'nın Kaynaklar panelinde bir kesme noktası ayarlayın ve adın üzerine gelin veya İzleme listesine ekleyin; böylece tam o satırdaki değeri okuyabilirsiniz.

Bu yazıyı şu şekilde özetleyin: