Típusok 23.11.20

Number

A legtöbb nyelvhez képest a ES nem kezeli külön a az int és a double típusokat.

let egesz = 10;
let tizedesTort = 3.14;

Két speciális értéke van a számoknak:

  • infinity vagy -infinity => Matematikailag hibás képlet eredménye, vagy kellően nagy szám, amit nem tud már értelmezni. Pl: 10/0 = infinity
  • NaN => Not a Number. Akkor keletkezik, ha egy számmá nem konvertálható értékkel próbálunk meg matematikai műveletet végezni. Pl: "Hello"/"there" = NaN (az osztás csak a számokra értelmezett)

BigInt

A Number kibővítésére készült egy új típus, amely nagyobb számokat is képes tárolni.Ezeket két féleképpen tudunk felvenni, amelyek egyenértékűek:

let bigInt1 = 10n;
let bigInt2 = BigInt(10);
Bizonyos műveletek (pl osztás) csak és kizárólag azonos típussal működnek. Vagyis nem lehet BigInt-et Numberrel osztani.

String

Szöveg tárolására alkalmas típus. A szöveg megadható " vagy ' között. Speciális jelölése, az úgynevezett template literal: ` (backtick) A template literal alkalmas arra, hogy könnyen és gyorsan belefüzzük a szövegbe a változóinkat.

let nev = "Papp Zsombor";
let udvozles = `Hello, ${nev}!`
//Hello, Papp Zsombor!

Több szöveg összefűzése a + operátor segítségével tehető meg

let elso = "Ez az elso tagmondat,";
let masodik = "ez pedig a masodik.";
let mondat = elso+masodik;

Ha számot szeretnénk összefűzni szöveggel akkor nagyon oda kell figyelni, hogy mit milyen sorrendben teszünk, ugyanis mindig stringé próbál meg alakítani.

let szamString = 30 + '10' //3010
let stringSzam = '10' + 20 //1020

Legegyszerűbb megoldás erre, hogy az átalakítandó string elé (feltéve, hogy tényleg csak számot tartalmaz) egy + jelet helyezünk el.

let szam = 30 + +"10"; //40

Ha nem csak szám van az adott stringben akkor keletkezhetnek elég furcsa dolgok is, pl:

let banan = 'b' + 'a' + +'a' + 'a'; // baNaNa

Ez azért fordul elő, mert a +'a' az nem konvertálható számmá, így NaN-t ad vissza.

String kezelés

Boolean

Logikai változó két értéket tud felvenni: true vagy false.

undefined

Legtöbbször akkor találkozunk vele, ha az adott változónak nem adunk értéket, ugyanis ilyenkor nem tudja a ES eldönteni, hogy minek kéne ott lennie.

null

A null esetében, az adott változónk valamilyen objektumra szeretne mutatni, azonban mivel az adott objektum nem létezik vagy nem tudott létrejönni, így a semmibe mutat a változónk.

Symbol

\pagebreak