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:
infinityvagy-infinity=> Matematikailag hibás képlet eredménye, vagy kellően nagy szám, amit nem tud már értelmezni. Pl:10/0 = infinityNaN=> 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);
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