Text a čísla
Každá hodnota v JavaScriptu má svůj typ. Zatím jste používali dva typy:
- čísla, například
25nebo1.5, se kterými můžete počítat; - text, například
"Ahoj". Programátoři mu říkají textový řetězec (anglicky string), protože je to řetězec znaků.
Proto text potřebuje uvozovky a čísla ne: 25 je číslo, ale "25" je text složený ze znaků 2 a 5. Na typu závisí, co operátor udělá. Například + dvě čísla sečte, ale dva textové řetězce spojí:
console.log(5 + 3);
console.log("5" + "3");
console.log("5" + 3);Vypíše:
8
53
53Poslední řádek mnohé překvapí. Když je na jedné straně + textový řetězec, JavaScript převede na řetězec i druhou stranu a obě spojí. Proto můžete spojovat text s čísly: "Je mi " + 25 + " let." dá "Je mi 25 let."
Ve výstupu typ nepoznáte: console.log(5) i console.log("5") vypíšou 5. Typ hodnoty zjistíte pomocí typeof:
console.log(typeof 5);
console.log(typeof "5");Vypíše:
number
stringnumber znamená číslo, string textový řetězec. typeof funguje i s proměnnými: typeof cena dá typ hodnoty uložené v proměnné cena.
Typická chyba je číslo v uvozovkách. Pak + místo sčítání spojuje a výsledek vypadá divně:
const jablka = "5";
console.log(jablka + 1);Vypíše 51 místo 6. Když vás nějaký výsledek takhle překvapí, zkontrolujte typy pomocí typeof.
Jak psát:
Pokyny
Program má vypsat Příští rok vám bude 26, ale na konci vypisuje 251. Zjistěte proč: na novém řádku vypište typ proměnné vek pomocí typeof.
Vypíše se string: v proměnné vek je text, protože její hodnota je v uvozovkách. Opravte to: odstraňte uvozovky kolem 25, aby proměnná vek obsahovala číslo. Pak program vypíše Příští rok vám bude 26 a typeof vypíše number.
Začněte programovat zdarma
9/12