tilbage til lektionen

Ret tilføjelsen

vigtighed: 5

Her er en kode, der beder brugeren om to tal og viser deres sum.

Den fungerer forkert. Outputtet i eksemplet nedenfor er 12 (for standard prompt værdier).

Hvorfor? Ret det. Resultatet skal være 3.

let a = prompt("Første tal?", 1);
let b = prompt("Andet tal?", 2);

alert(a + b); // 12

Årsagen er, at prompt returnerer brugerinput som en streng.

Så variablerne har værdierne "1" og "2" henholdsvis.

let a = "1"; // prompt("Første nummer?", 1);
let b = "2"; // prompt("Andet nummer?", 2);

alert(a + b); // 12

Hvad vi skal gøre er at konvertere strenge til tal før +. For eksempel ved at bruge Number() eller ved at tilføje + foran dem.

For eksempel lige før prompt:

let a = +prompt("Første nummer?", 1);
let b = +prompt("Andet nummer?", 2);

alert(a + b); // 3

Eller i alert:

let a = prompt("Første nummer?", 1);
let b = prompt("Andet nummer?", 2);

alert(+a + +b); // 3

Ved at bruge både unær og binær + i den seneste kode. Ser sjovt ud, ikke?