tilbage til lektionen

Sæt og formindsk for counter

vigtighed: 5

Juster på koden makeCounter() så tælleren også kan formindske tallet og sætte den til et bestemt tal:

  • counter() skal returnere det næste tal (as before).
  • counter.set(value) skal sætte tælleren til value.
  • counter.decrease() skal formindske tælleren med 1.

Se sandbox-koden for det fulde brugseksempel.

P.S. Du kan bruge enten en closure eller funktionsegenskab til at gemme den nuværende tæller. Eller skriv begge varianter.

Åbn en sandbox med tests.

Løsningen bruger count i den lokale variabel, men tilføjede metoder er skrevet direkte ind i counter. De deler det samme ydre leksikale miljø og kan også tilgå den nuværende count.

function makeCounter() {
  let count = 0;

  function counter() {
    return count++;
  }

  counter.set = value => count = value;

  counter.decrease = () => count--;

  return counter;
}

Åbn løsningen med tests i en sandbox.