Windows - Javascript változók és operátorok

Javascript suli 2. rész

Sorozatunk második részeként a Javascript nyelv változóival, azok deklarálásával, különféle műveletek során előidézet konverzióval foglalkozunk. Megismerkedünk a nyelv operátoraival is, többféle példán keresztül.
Változók használata
A JScript nyelvben minden változót deklarálni kell. Ezt a var kulcsszóval tudjuk megtenni. Lehet csoportos deklaráció is, amikor vesszővel elválasztva több változót megadunk, és akár értéket is rendelhetünk hozzájuk. Arra is van lehetőség, hogy a var kulcsszót elhagyjuk, viszont ilyenkor az értékadás kötelező.
var str;
var int1, int2, int3;
var i = 1;
j = null;
A fentiekben többféle deklarációra látunk példát. Fontos megjegyeznünk, hogy az első és második esetben a változó típusa undefinied lesz. A negyedik esetben pedig a j változó null értéket kap. A különbség a két fogalom között az, hogy a null úgy viselkedik, mint egy 0 szám érték, a definiálatlan típus pedig egy speciális érték: NaN (Not a Number). A két érték összehasonlítása egyenlőséget mutat minden esetben.
A JScript nyelv egy case-insensitive nyelv, ami annyit tesz, hogy nem mindegy, hogy kis- vagy nagybetűt használunk. Figyeljünk erre oda, főként ha ezen tekintetben eltérő szabályú keretbe helyezzük a JScript kódrészletet, pl. asp-be.
Kényszerek
A JScript esetében könnyű az átmenet a változó típusok között. Ha kiértékel a feldolgozó egy kifejezést, akkor az alábbi szabályok szerint jár el:
Tevékenység Eredmény
szám és szöveg összeadása A szám a szövegbe épül
logikai érték és szöveg összeadása A logikai érték a szövegbe épül
szám és logikai érték összeadása A logikai érték a számba épül
Adattípusok
Az eddigiek alapján tehát felvázolhatjuk a JScript nyelv adattípusait. Három elsődleges elemi adattípus létezik:
  • String
  • Number
  • Boolean
Két összetett típus:
  • Object
  • Array
Speciális típusok:
  • Null
  • Undefinied
A String típusú adatokat idézőjel vagy macskaköröm pár közé írjuk. Mindkét megoldás lehetséges, így az éppen nem használt jeleket is tartalmazhatja a szöveg.
a = "I'm sorry.";
b = 'Macskaköröm: (")'
Az első példában az idézőjel, a másodikban a macskaköröm tagja a string adatnak.
Numerikus adatok lehetnek egész (decimális, hexadecimális, octal), vagy lebegőpontos értékek. Léteznek speciális numerikus értékek is, mint az előzőekben említett NaN, not a number érték, amit akkor használ a nyelv, ha értelmezhetetlen a matematikai művelet eredménye, vagy ha nem definiálunk értéket. Lehet még pozitív, vagy negatív végtelen, vagy szintén pozitív/negatív 0 érték. A JScript különbséget tesz a két 0 között.
Operátorok
A JScript nyelv operátorai a következők:
  • Számítást végző operátorok
Leírás Szimbólum
Negálás -
Növelés ++
Csökkentés --
Szorzás *
Osztás /
Maradékképzés %
Összeadás +
Kivonás -
  • Logikai operátorok
Leírás Szimbólum
Logikai negálás !
Kisebb mint <
Nagyobb mint >
Kisebb egyenlő <=
Nagyobb egyenlő >=
Egyenlő ==
Nem egyenlő !=
Logikai és &&
Logikai vagy ||
Feltételes hármas ?:
Vessző ,
Teljesen egyenlő ===
Teljesen egyenlőtlen !==
  • Bitszintű műveletek
Leírás Szimbólum
Bitszintű negálás ~
Bitszintű balra eltolás <<
Bitszintű jobbra eltolás >>
Helyérték nélküli jobbra eltolás >>>
Bitszintű és &
Bitszintű kizáró vagy ^
Bitszintű vagy |
  • Értékadó operátorok
Leírás Szimbólum
Értékadás =
Összetett értékadás OP=
  • Vegyes operátorok
Leírás Szimbólum
törlés delete
típus typeof
értékadás kiküszöbölése void
példánya-e instanceof
új new
benne in
A különbség az egyenlő (==) és teljesen egyenlő (===) operátorok között az, hogy a fordító az egyenlőség esetén a kiértékelés előtt "kikényszeríti" a hasonlóságot, tehát pl.: egy numerikus és karakteres 1, ill. "1" érték összehasonlítása egyenlőséget eredményez, míg a teljes egyenlőség vizsgálatánál nem.
Az érték növelő, csökkentő operátor a hozzá kapcsolódó értékhez hozzáad egyet, vagy kivon belőle egyet.
a = ++a;
b = a++;
Ha az operátor elöl áll, akkor először történik meg az érték növelése, ha viszont hátul áll az operátor, akkor előbb az értékadás (b = a) valósul meg, és utána mellesleg nő az "a" változó értéke 1-el. Hasonlóképpen az értékcsökkentő operátornál.
A feltételes hármas (?:) operátor esetén a kérdőjel előtt egy logikai kifejezés szerepel. Ha a kiértékelés eredménye igaz, akkor a "?" és ":" közötti értéket adja vissza az operátor, ellenkező esetben a ":" utáni értéket.
A bitszintű jobbra eltolás két változata között a különbség az, hogy amíg a ">>" esetén az előjelbit értékét használja az új értékhelyek feltöltésére a bal oldalon, addig a ">>>" operátor esetén mindig 0 értékekkel tölti fel az üres helyeket.
a = b >> 2;
b = a >>> 2;
A műveletek során a második kifejezésben megadhatjuk, hogy hány értékhellyel tolódjon el a bináris adatsor.
x = += y;
x = x + y;
Összetett értékadó utasítások esetén lehetőség van arra, hogy egyszerűsített formában kódoljuk a műveletet, például ha egy változó értékét növelni szeretnénk a megadott kifejezéssel. A fenti két példa eredménye ugyanaz.

Javascript suli cikksorozat