JS Elemi és összetett adattípusok. Operátorok

JavaScript Web

A JavaScript dinamikusan típusos nyelv, ami azt jelenti, hogy a változó típusát nem kell előre deklarálni, és futás közben változhat.

Változók típusai

Egyszerű típusok

TípusLeírásPélda
StringSzöveges adatok.let nev = "Béla";
NumberLehet egész, vagy lebegőpontos. Alapértelmezetten $64$-bites IEEE 754 lebegőpontos szám (Double).let eletkor = 70; let ar = 19.99;
BigIntNagyon nagy egész számok tárolására, amik meghaladják a Number típus biztonságos tárolási határát ($2^{53} – 1$).let x = 123456789012345678901234567890n; (Az n jelzi, hogy BigInt)
BooleanLogikai érték: true (igaz) vagy false (hamis).let vanEredmeny = true;
undefinedA változó deklarálva van, de értéket nem kapott.let y; (itt $y$ értéke undefined)
nullÉrték hiányát jelöli, szándékosan beállítva. A fejlesztő jelzi vele, hogy a változó üres.let data = null;
SymbolEgyedi azonosítókat hoz létre, gyakran objektum tulajdonságok kulcsaként használják. (ES6)

Összetett Adattípus (Referencia típusok)

  • Object: A JavaScript legtöbb elemének alapja.

Változó nevére vonatkozó megkötések

  • Változó neve betűvel, $-ral, vagy _ jellel kezdődhet.
  • Érzékeny a kis és nagybetűkre!
  • Minimális változónév hossz: 1 betű.
  • Lehetőleg ne használjunk ékezetes betűket fájl és változónévként se!

Operátorok

Aritmetikai operátorok:

OperátorLeírásPélda
+Összeadás, String esetén összefűzés (Concatenation).5 + 3 (8), "hello" + " világ" („hello világ”)
-Kivonás.5 - 3 (2)
*Szorzás.5 * 3 (15)
/Osztás.5 / 2 (2.5)
%Maradékos osztás (Modulus).5 % 2 (1)
**Hatványozás. (ES6)2 ** 3 (8)
++Inkremens (növelés 1-gyel).i++ vagy ++i
--Dekremens (csökkentés 1-gyel).i-- vagy --i

Összehasonlító operátorok:

OperátorLeírásPélda
==Egyenlő (érték szerint, típus-kényszerítéssel).5 == "5" ($\text{true}$)
===Szigorúan egyenlő (érték és típus szerint). Ajánlott.5 === "5" ($\text{false}$)
!=Nem egyenlő (érték szerint, típus-kényszerítéssel).5 != "6" ($\text{true}$)
!==Szigorúan nem egyenlő (érték vagy típus szerint). Ajánlott.5 !== "5" ($\text{true}$)
>Nagyobb.
<Kisebb.
>=Nagyobb vagy egyenlő.
<=Kisebb vagy egyenlő.

Logikai operátorok:

OperátorJelentésPéldaEredmény
&&AND (És)true && false$\text{false}$
****OR (Vagy)
!NOT (Negálás)!true$\text{false}$

Értékadó Operátorok

OperátorRövidítésTeljes alak
=Sima értékadás.let c = 8;
+=Hozzáadás és értékadás.C += A $\implies$ C = C + A
*=Szorzás és értékadás.C *= A $\implies$ C = C * A
/=Osztás és értékadás.C /= A $\implies$ C = C / A
**=Hatványozás és értékadás. (ES2016)C **= A $\implies$ C = C ** A

Kommentek használata

Kódunkat elláthatjuk megjegyzésekkel. Egy soros megjegyés: // komment szövege
Többsoros megjegyzés: /* komment szövege */

Típus-ellenőrzés és Konverzió

Típus-ellenőrzés: typeof

A typeof operátor (vagy függvényként: typeof()) megmondja egy változó adattípusát (stringként adja vissza).

Típuskonverzió (Type Conversion)

Kényszerített Típuskonverzió (Explicit Conversion)
A fejlesztő szándékosan megváltoztatja egy érték típusát.

Számmá alakítás

Stringgé alakítás:

Logikaivá (Boolean) alakítás:

Automatikus Típuskonverzió (Implicit Coercion)

A JavaScript automatikusan konvertálja a típusokat egy művelet végrehajtásakor.

Összeadás (+): Ha az egyik operandus String, a másik is String-gé alakul, és összefűzés történik.

Aritmetikai műveletek (kivéve +): A String-ek számmá alakulnak.

Laza egyenlőség (==): Lásd fentebb, típuskonverzióval hasonlít.

Felhasználói beviteli/kimeneti példa