Krátke zopakovanie dátových typov v JavaScripte: number, string, boolean, array.
// príklad
let vek = 17; //number - čísla
let meno = "Ján"; //string - reťazce
let dospely = false; //boolean - logické hodnoty
let znamky = [1, 2, 3, 1]; // polia - array
console.log(vek, meno, dospely, znamky);
Základné aritmetické operácie a často používané metódy z objektu Math.
+ - * / %(modulo)
let prve = Number(prompt("Zadaj prvé číslo:")); //Number prekonvertuje text na číslo (inak by sa reťazce spájali, napr. "5" + "3" = "53")
let druhe = Number(prompt("Zadaj druhé číslo:"));
let operator = prompt("Zadaj operátor (+, -, *, /)");
switch (operator) {
case "+":
vysledok = prve + druhe;
break;
case "-":
vysledok = prve - druhe;
break;
case "*":
vysledok = prve * druhe;
break;
case "/":
vysledok = prve / druhe;
break;
default:
vysledok = "Zlý operátor";
}
// Výpis na stránku
document.write(`Výsledok ${prve} ${operator} ${druhe} = ${vysledok}`);
Dorobiť:
console.log(a % b); // 1 (zvyšok po delení)
`${...}` – šablónový reťazec (template literal)
Tento zápis umožňuje vložiť premenné alebo výrazy priamo do textu.
Všetko, čo je medzi ${...}, sa vyhodnotí a výsledok sa vloží do textu.
Math.round(3.7); // 4 – zaokrúhlenie
Math.floor(3.7); // 3 – nadol
Math.ceil(3.2); // 4 – nahor
Math.abs(-5); // 5 – absolútna hodnota
Math.pow(2, 3); // 8 – mocnina
Math.sqrt(16); // 4 – druhá odmocnina
Math.max(5, 9, 2); // 9 – najväčšie číslo
Math.min(5, 9, 2); // 2 – najmenšie číslo
Math.random(); // náhodné číslo medzi 0–1
//výpis
console.log(Math.random());
let nahodne = Math.floor(Math.random() * 10) + 1;
console.log(nahodne);
Práca s textom — metódy a tipy.
let meno = "Eva";
let mesto = "Bratislava";
console.log(`Ahoj, volám sa ${meno} a bývam v ${mesto}.`);
let text = "JavaScript je super!";
text.length; // počet znakov
text.toUpperCase(); // veľké písmená
text.toLowerCase(); // malé písmená
text.includes("super"); // true – obsahuje slovo
text.startsWith("Java"); // true
text.endsWith("!"); // true
text.indexOf("Script"); // 4 – pozícia
text.replace("super", "úžasný"); // nahradí text
text.substring(0, 10); // "JavaScript"
text.slice(-6); // "super!"
text.trim(); // odstráni medzery na začiatku a konci
text.repeat(3); // zopakuje text 3×
//výpis
console.log(text.length);
meno a priezvisko do jedného reťazca, prekonvertujte na veľké písmená a vypíšte dĺžku.
let meno = "Anna";
let priezvisko = "Nováková";
let celeMeno = (meno + " " + priezvisko).toUpperCase();
console.log(celeMeno, celeMeno.length);
Typ boolean a najčastejšie porovnania a logické operátory.
let pravda = true;
let nepravda = false;
=== // striktne porovnanie (hodnota + typ)
== // laické porovnanie (konverzia typov)
!== // nerovné (striktné)
> < >= <=
príklady:
5 > 3 // true
5 < 3 // false
5 == "5" // true (porovnáva len hodnotu)
5 === "5" // false (porovnáva aj typ)
5 !== 4 // true
&& // AND
|| // OR
! // NOT
príklady:
true && false // AND → false
true || false // OR → true
!true // NOT → false
let cislo = 8;
let parne = (cislo % 2 === 0);
console.log("Párne?", parne); // true or false
/*Používateľ má prístup len vtedy, ak:
***má viac ako 18 rokov a je člen klubu alebo má VIP status.*/
let vek = 20;
let clen = false;
let vip = true;
if (vek > 18 && (clen || vip)) {
console.log("Prístup udelený.");
} else {
console.log("Prístup zamietnutý.");
}
Štandardný spôsob definovania funkcie v JavaScripte pomocou kľúčového slova function.
function nazovFunkcie(parametre) {
// telo funkcie
return vysledok;
}
Príklad 1:
function sucet(a, b) {
return a + b;
}
console.log(sucet(5,10));
Príklad 2:
function pozdrav(meno) {
return "Ahoj " + meno + "!";
}
console.log(pozdrav("Vlado")); // 👉 vypíše: Ahoj Vlado!
Skrátený zápis funkcie. Je vhodná pre jednoduché výrazy a callbacky.
const nazovFunkcie = (parametre) => {
// telo funkcie
return vysledok;
}
Skrátený zápis (ak má len jeden príkaz)
const nazovFunkcie = (parametre) => príkaz;
Príklad 1:
const suceta = (a, b) => a + b;
console.log(suceta(5,10));
Príklad 2:
const pozdrava = (meno) => {
return "Dobrý deň " + meno + "!";
};
console.log(pozdrava("Vlado")); // 👉 vypíše: Dobrý deň Vlado!
Príklad 3:
const pozdravar = meno => "Dobrý deň " + meno + "!";
console.log(pozdravar("Vlado")); // 👉 Dobrý deň Vlado!
Vytvorenie poľa, základné úpravy, iterácia a pokročilejšie metódy.
let cisla = [1, 2, 3, 4];
console.log(cisla[0]); // prvý prvok
console.log(cisla.length);
let pole = [1, 2, 3, 4, 5];
pole.push(6); // pridá na koniec
pole.pop(); // odstráni posledný
pole.unshift(0); // pridá na začiatok
pole.shift(); // odstráni prvý
pole.includes(3); // true – obsahuje 3
pole.indexOf(4); // 3 – pozícia prvku
pole.reverse(); // otočí poradie
pole.sort(); // zoradí (pozor, ako text!)
pole.join(", "); // spojí prvky do textu
pole.slice(1, 3); // vráti [2, 3]
pole.splice(2, 1); // vymaže 1 prvok od indexu 2
//výpis
console.log(pole.push(6));
arr.forEach(fn) // pre každý prvok
arr.map(fn) // vráti nové pole (transformácia)
arr.filter(fn) // vráti len prvky, kde fn true
arr.reduce(fn, start) // zredukuje do jednej hodnoty
arr.find(fn) // nájde prvý prvok podľa podmienky
arr.some(fn) // či aspoň jeden prvok spĺňa podmienku true/false
arr.every(fn) // či všetky prvky spĺňajú podmienku
Príklad:
//let pole = [1, 2, 3, 4, 5]; - zadefinované vyššie
pole.forEach(function(prvok) {
console.log(prvok);
});
let dvojnasobky = pole.map(x => x * 2); // vráti nové pole
console.log(`dvojnasobky: ${dvojnasobky}`);
let parne = pole.filter(x => x % 2 === 0); // vyfiltruje párne čísla
console.log("parne: ", parne);
let sucet = pole.reduce((a, b) => a + b, 0); // spočíta všetky
console.log("sucet: ", sucet);
let hladaj = pole.find(f => f > 3); // najde prvy vasci ako 2
console.log("hladaj: ", hladaj);
const maVelkeCislo = cisla.some(c => c > 4);
console.log(maVelkeCislo); // true
const maCislo = cisla.every(e => e > 5);
console.log(maCislo); // false
let mena = ["anna", "peter", "lucia"];
let velkeMena = mena.map(meno => meno.toUpperCase());
console.log("mena: ", velkeMena); // ["ANNA", "PETER", "LUCIA"]
[5,10,15,20,25].let cisla = [5, 10, 15, 20, 25];
let sucet = cisla.reduce((a,b) => a + b, 0);
let priemer = sucet / cisla.length;
let vacsieAko10 = cisla.filter(x => x > 10);
console.log(sucet, priemer, vacsieAko10);
.map() vs .forEach()?=== namiesto ==?Implementujte program, ktorý:
[1.5, 3.2, 4.8, 7.1, 2.9].Math.round() pre každý prvok) a vypíše ho.Math.max(...arr) / Math.min(...arr)).// vzorové riešenie
let arr = [1.5, 3.2, 4.8, 7.1, 2.9];
let zaokruhlene = arr.map(x => Math.round(x));
let sucet = zaokruhlene.reduce((a,b) => a + b, 0);
let max = Math.max(...arr);
let min = Math.min(...arr);
let priemer = arr.reduce((a,b)=>a+b,0)/arr.length;
console.log({zaokruhlene, sucet, max, min, priemer, priemerVacsieAko5: priemer > 5});