Zkrácený zápis

V cyklech budete proměnné měnit neustále, nejčastěji tak, že k nim něco přičtete nebo od nich něco odečtete. Psát pořád dokola cislo = cislo + 1 je zdlouhavé, a proto má JavaScript kratší zápisy:

  • skore += 5; znamená totéž co skore = skore + 5;
  • skore -= 5; znamená totéž co skore = skore - 5;
  • skore++; znamená totéž co skore = skore + 1;
  • skore--; znamená totéž co skore = skore - 1;

Zápis += si můžete přečíst jako „přičíst k“: skore += 5 znamená „k proměnné skore přičíst 5“. Operátory ++ a -- slouží pro vůbec nejčastější změnu: o jedna víc, nebo o jedna méně.

let skore = 10;
skore += 5;
console.log(skore);
skore -= 3;
console.log(skore);
skore++;
console.log(skore);
skore--;
console.log(skore);

Vypíše:

15
12
13
12

Zápis += funguje i s textem. Přidá text na konec textu, který už v proměnné je:

let zprava = "Ahoj";
zprava += ", světe";
zprava += "!";
console.log(zprava);
Ahoj, světe!

Díky ++ se cyklus z minulého cvičení trochu zkrátí. Takto ho uvidíte zapsaný nejčastěji:

let cislo = 1;
while (cislo <= 3) {
    console.log(cislo);
    cislo++;
}
1
2
3

Dvě typické chyby:

  • skore + 5; samo o sobě nic nedělá. Výsledek spočítá, ale nikam ho neuloží, takže se skore nezmění. Je potřeba napsat skore += 5;.
  • skore =+ 5; s prohozenými znaky chybu nezpůsobí. JavaScript to přečte jako skore = +5; a do skore prostě uloží 5. Rovnítko je vždy až druhé: +=, -=.

Všechny tyto zkratky proměnnou mění, a proto fungují jen s let. S const skončí chybou TypeError: Assignment to constant variable.

Pokyny

Cyklus v editoru vypisuje 0, 10, 20 a tak dále až do 50. Nahraďte cislo = cislo + 10; kratším zápisem s +=. Výstup zůstane stejný.

Pod cyklem vytvořte proměnnou odpocet s hodnotou 3 a napište druhý cyklus while: dokud je odpocet větší než 0, vypište odpocet a potom ho pomocí -- snižte o jedna.

Za druhý cyklus přidejte výpis textu Start!. Výstup pak bude končit čtyřmi řádky: 3, 2, 1 a Start!.

Začněte programovat zdarma

Registrací souhlasíte s provozními podmínkami a zásadami ochrany osobních údajů.

Nebo se registrujte pomocí:

2/12