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?