JavaSzkriptváltozó: Deklaráció, érték hozzárendelése példával

⚡ Okos összefoglaló

JavaA szkriptváltozók olyan értékeket tárolnak, mint a nevek és számok, vagy egy kifejezés eredménye. Ha egyet a var, let vagy const paraméterrel deklarálunk, akkor lefoglalunk egy elnevezett slotot, amelyet a szkript többi része olvashat és frissíthet.

  • 🔘 Nyilatkozat: A var, let vagy const kulcsszavak létrehozzák a nevet, mielőtt bármelyik kódsor beolvasná vagy kiírná azt.
  • ☑️ Feladat: Egyetlen egyenlőségjel egy értéket másol a változóba, akár a deklarációs sorban, akár később.
  • ✅ Elnevezés: A nevek betűvel, dollárjellel vagy aláhúzásjellel kezdődnek, és a nagy- és kisbetűk különbözőnek számítanak.
  • 🧪 Modern kulcsszavak: A const a soha nem változó értékekhez, a let a változó értékekhez, a var pedig főként a korábbi szkriptekben marad fenn.
  • 🇧🇷 Hatály: legyen és const a zárójeleiken belül maradjon, míg a var eléri a teljes körülötte lévő függvényt.
  • 📌 Gyakori hibák: Egy konstans áthozzárendelése, egy let túl korai beolvasása vagy a kulcsszó kihagyása mindegyike különálló hibát okoz.

Kijelenti a JavaSzkriptváltozó és érték hozzárendelése hozzá

A változókat értékek (név = „John”) vagy kifejezések (összeg = x + y) tárolására használjuk. Minden érték, amit egy szkript későbbre tart – egy felhasználónév, egy futó összeg, egy igen/nem jelző – egy változóban található, így ezek megfelelő deklarálása és elnevezése az első elsajátítandó készség. JavaForgatókönyv.

Változók deklarálása JavaForgatókönyv

Egy változó használata előtt először deklarálni kell azt. A var kulcsszóval deklarálható egy változó, például így:

var name;

Maga a deklaráció létrehozza a nevet, semmi mást. Ezen a ponton a változó létezik, de a speciális értéket definiálatlanul tartja, mivel még nem adtunk hozzá értéket.

⚠️ Verzió megjegyzés: A var az eredeti deklarációs kulcsszó, és továbbra is minden böngészőben fut. ES6 (2015) hozzáadva hadd és a const, melyek a modern kulcsszavak JavaSzkriptek használata. Mindkettőt összehasonlítjuk a var változóval ezen az oldalon lejjebb.

Rendeljen értéket a változóhoz

A változóhoz értéket rendelhet a változó deklarálása közben vagy a változó deklarálása után.

var name = "John";

OR

var name;

name = "John";

Mindkét forma ugyanazzal az eredménnyel végződik. Az egyetlen egyenlőségjel a értékadó operátor: a jobb oldali értéket átmásolja a bal oldali változóba. Ez nem egyenlőségvizsgálat, amelyet == vagy === írunk, és a következőbe tartozik: feltételes állítások.

Változók elnevezése

Bár a változókat tetszés szerint elnevezheted, jó programozási gyakorlat, ha leíró és értelmes neveket adsz nekik. Továbbá, a változóneveknek betűvel kell kezdődniük, és kis- és nagybetűérzékenyek. Ezért a diáknév és a diákNév változók különböznek, mivel a névben az n betű különböző (n és N).

Négy szabály dönti el, hogy egy név egyáltalán legális-e:

  1. Az első karakternek betűnek, dollárjelnek vagy aláhúzásjelnek kell lennie – soha nem számjegynek.
  2. Az első karakter után betűk, számjegyek, dollárjelek és aláhúzásjelek is megengedettek.
  3. Szóközök nem engedélyezettek, ezért a kétszavas ötleteket studentName-ként egyesítjük, ahelyett, hogy két szóként hagynánk el őket.
  4. A foglalt szavak, mint például a var, let, const, class és return, nem használhatók fel újra névként.

Megállapodás szerint JavaA szkriptnevek camelCase karakterláncot használnak, tehát az első szó kisbetűs, és minden további szó nagybetűvel kezdődik: firstName, totalPrice, isLoggedIn.

Az alábbi szkript két változót deklarál, alkalmazza rájuk az öt aritmetikai operátort, és kiírja az eredményeket az oldalra. Próbáld ki te is:

<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>

var vs let vs const Modernben JavaForgatókönyv

Csak a var létezett, amikor JavaA szkriptet először megírták, és két olyan tulajdonsággal rendelkezik, ami meglepi a kezdőket: csendben újradeklarálható, és figyelmen kívül hagyja a blokkhatárokat. A let és a const függvényeket mindkettő kijavítására adtuk hozzá. Az alábbi táblázat egymás mellett mutatja a három kulcsszót.

Viselkedés volt hadd const
Kör Teljes függvény Befoglaló blokk Befoglaló blokk
Újraosztható Igen Igen Nem
Újra deklarálható ugyanabban a hatókörben Igen Nem Nem
A deklarációs sorban kötelező érték Nem Nem Igen
Olvassa el a nyilatkozata előtt Visszaadja a nem definiált értékeket ReferenceError ReferenceError

Egy egyszerű szokás szinte minden esetre megoldást kínál: nyúlj a const először is, válts át hadd abban a pillanatban, amikor egy értéknek valóban meg kell változnia, például egy számlálónak az egyikben JavaSzkriptciklusok, és a var értéket a régi kód olvasásához kell megtartani az új kód írása helyett.

Változó hatókör és emelés JavaForgatókönyv

A hatókör határozza meg, hogy egy szkript mely részei láthatják a változót. A var deklaráció az azt tartalmazó függvényhez tartozik, így a függvényen belüli if vagy for blokkokat kihagyja. A let vagy const deklaráció a zárójelpárhoz tartozik, amelyben található, és eltűnik azokon kívül.

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

Az első console.log kiírja a saját karakterláncát. A második egy ReferenceError hibát dob, mivel a narrow már nem létezik az if blokk vége után.

hoisting a történet második fele. JavaA szkript minden deklarációt regisztrál egy hatókörben, mielőtt lefuttatná az adott hatókör egyetlen sorát is. A var név regisztrálva van és undefined értékre van állítva, így a korai beolvasása megengedett, de haszontalan. A let vagy const név érték nélkül van regisztrálva, és a blokk teteje és a deklarációs sor közötti rést a következőnek nevezzük: időbeli holt zóna.

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

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

Az első sor definiálatlanul íródik ki. A harmadik sor a „Cannot access 'b' before inicialization” hibával áll meg – ez a hiba teszi a let függvényt biztonságosabbá a var függvénynél, mivel az a valódi hibára mutat rá, ahelyett, hogy elrejtené azt.

Gyakori hibák a deklarálás során JavaScript Változók

A konzolon megjelenő üzenetek nagy részét, amiket a kezdők látnak a változók tanulásakor, öt üzenet teszi ki. Mindegyik egy konkrét okot nevez meg, így a javítás általában egyetlen sorban történik.

Konzolüzenet Okoz Rögzít
Szintaxishiba: Az „x” azonosítót már deklarálták A let vagy const függvényt kétszer használják ugyanarra a névre egy blokkon belül Használja újra a meglévő változót, vagy nevezze át a másodikat
TypeError: Hozzárendelés állandó változóhoz Egy konstans új értéket kapott Deklaráld let paranccsal, ha az értéknek változnia kell
ReferenceError: Az 'x' nem érhető el inicializálás előtt. Egy let vagy const értéket olvastunk le az időbeli holtzónán belül. Vigye az olvasást a deklarációs sor alá
Referenciahiba: az x nincs definiálva A nevet soha nem mondták ki, vagy hibásan írták le. Jelentsd ki, vagy javítsd ki a helyesírást és a kis- és nagybetűk használatát
„undefined” jelenik meg ott, ahol egy értéket vártak A változót deklarálták, de soha nem érték el Érték hozzárendelése az első olvasás előtt

A „use strict” paranccsal a fájl elejére a negyedik eset csendes verzióját – egy soha nem deklarált névhez való hozzárendelést – látható hibává alakítja, ezért minden új szkriptben szerepel. Ugyanezek a változószabályok változatlanul átkerülnek a következőbe is: tömbök, objektumok, és a következőhöz írt szerveroldali kód node.js.

GYIK

Ezek közül bármelyik. JavaA szkript dinamikusan típusos, így az egyik változó tartalmazhat egy számot, majd egy karakterláncot, végül pedig egy objektumot. A deklaráció egy nevet tart fenn, nem egy típust. A typeof függvénnyel ellenőrizhetjük, hogy egy változó mit tartalmaz bármikor.

JavaA szkript egy implicit globális változót hoz létre, amelyet más kód véletlenül felülírhat. A fájl elejére adandó „use strict” utasítás ugyanazt a sort ReferenceError hibává alakítja, így a hiba azonnal megjelenik ahelyett, hogy észrevétlenül terjedne.

Az „undefined” azt jelenti, hogy a változót deklarálták, de soha nem kapott értéket. A „null” egy szándékosan hozzárendelt érték, amely azt jelenti, hogy „itt semmi sincs”. Mindkettő hamis, mégis a typeof undefined „undefined” értéket ad vissza, míg a typeof null „object” értéket.

A plusz operátor minden olyan szöveget összekapcsol, amelyiknek bármelyik oldala karakterlánc, tehát a 22 + „3” „223”-at eredményez. Először a Number() vagy a parseInt() függvénnyel konvertáljuk, ha aritmetikai műveleteket végzünk. SubtracA „3” − 1 függvénynek nincs szöveges jelentése, így a „3” − 1 helyesen 2-t ad vissza.

Igen. A const zárolja a kötést, nem az értéket, így egy const objektum tulajdonságai és egy const tömb elemeinek tulajdonságai továbbra is változhatnak. Magának a változónak az átruházása TypeError hibát dob. Használd az Object.freeze() függvényt, ha a tartalomnak rögzítettnek kell maradnia.

A modern szerkesztőkbe épített mesterséges intelligencia asszisztensek egy kulcsszót és egy leíró nevet javasolnak a környező kontextusból, megjelölnek egy változót, amelynek const-nak kell lennie, és egyetlen lépésben átnevezik az összes felhasználási módot. Minden javaslatot vázlatként kezeljen, és ellenőrizze, hogy a hatókör helyes-e.

Gyakran igen. Másodpilóta beolvassa a közeli kódot, és a környező stílusnak megfelelő neveket kínál fel, ami segít a helyőrzők, például az x vagy a temp helyettesítésében. RevNézz át minden nevet, mert egy folyékony javaslat is leírhatja a rossz dolgot.

A console.log() függvény kinyomtatja az aktuális értéket a böngésző konzoljára. A részletesebb áttekintéshez állítson be egy töréspontot a DevTools Források paneljén, és vigye az egérmutatót a név fölé, vagy adja hozzá a Figyelőlistához, hogy pontosan abban a sorban olvassa be az értéket.

Foglald össze ezt a bejegyzést a következőképpen: