Utmaningar

2.0 Från enkel utskrift till modul med exporterad funktion

En "steg-för-steg"-utmaning där stegen är små, små, små och stort.

👉 OBS! Lös detta med enbart papper och penna utan att bland in något tangentbord!

2.0.1 Utskrift av uttrycks resultat

Skriv en sats, tänkt till filen app.js, som skriver ut resultatet av uttrycket 27 + 15 i ett terminalfönster.

Lösningsförslag

Klicka här för lösningsförslag!

console.log() används för att skriva ut i terminalen. Det är värdet av uttrycket som skrivs mellan parenteserna som skrivs ut.

2.0.2 Spara ett uttrycks resultat i en variabel

Återvänd till modifiera den tidigare satsen så att resultatet av uttrycket 27 + 15 lagras i variabeln sum vars värde sedan skrivs ut.

Lösningsförslag

Klicka här för lösningsförslag!

Här används let för att deklarera variabeln sum. Eftersom värdet sum har aldrig ändras skulle det i detta all gått lika bra, och enligt många bättre, att deklarera en konstant istället för en variabel, const sum = 27 + 15.

2.0.3 Spara värden i variabler

Modifiera tidigare satser så att värdena i uttrycket 27 + 15 lagras i variablerna value1 coh value2. Använd därefter variablerna i uttrycket som bestämmer värdet som sum tilldelas.

Lösningsförslag

Klicka här för lösningsförslag!

2.0.4 Generalisera med en funktion

Skapa funktionen add som ska addera två värden som skickas till den som argument. Den beräknade summan ska sedan returneras. Ersätt därefter uttrycket som adderar variablernas värden med ett anrop av funktionen.

Lägg till satser som tilldelar variablerna nya värden, 12 respektive 55, anropar funktionen add och presenterar det nya resultatet.

Lösningsförslag

Klicka här för lösningsförslag!

2.0.5 "ECMAScript-modularisera" funktionen 🤔

Flytta funktionen add, från den tänkta filen app.js till den tänkta filen algebraic.js. Var noga med att se till att app.js fortsatt kan anropa funktionen add trots att den befinner sig i en annan modul.

Tips

Paketlösning.

Lösningsförslag

Klicka här för lösningsförslag!

2.0.6 Din första Node-applikation(?)

👉 OBS! Lös detta med enbart papper och penna utan att bland in något tangentbord! Använd din dator!

Skapa och kör applikationen samt verifiera att värden 42 och 67 skrivs ut i terminalfönstret.

Lösningsförslag

Klicka här för lösningsförslag!

Du skapar en ny katalog skapas med mkdir och du byter till en katalog med cd.

  • mkdir, "make directory", används för att skapa en ny katalog (bibliotek/folder).
  • cd, "change directory", används för att byta aktiv katalog.

Skapa katalogstrukturen med kommandona nedan.

Byt till katalogen week2-0, skapa och öppna filen app.js genom att i terminalen skriva code app.js som startar Visual Studio Code, skapar och öppnar app.js i den aktuella katalogen.

Efter att du sparat filen exekverar du kod i en JavaScript-fil med kommandot node följet av namnet på filen vars kod du vill exekvera. Om filen du vill exekvera heter app.js skriver du node app.js på kommandoraden i terminalen.

Skapa filen package.json med npm init -y, och lägg till "type": "module".

Kör applikationen med node app.js och verifierar att rätt värden skrivs ut.

2.1 Returnera ett heltals värde ökat med 1

Skapa en funktion som tar ett heltal som argument, ökar heltalet med 1 och returnerar resultatet.

Exempel

Tips

  • Glöm inte att returnera resultatet.

Lösningsförslag

Klicka här för lösningsförslag!

Alternativ 1

Alternativ 2

Alternativ 3 👍

Den mest "seniora" lösningen? Ingen extra variabel skapas. Ingen variabel (parameter) vars värde ändras.

Alternativ 4 👎

En mindre bra lösning då den är svårare att förstå.

Värdet parametern value har ökas med 1 innan värdet returneras. Varför? Eftersom operatorn ++ står innan value ökas värdet först, sedan returneras det. Hade det stått value++ hade värdet "först" returnerats för att därefter ökas med 1.

2.2 Returnera summan av två tal

Skapa en funktion som tar två tal som argument och returnerar deras summa.

Exempel

Tips

  • Du uttrycker en addition på samma sätt som du är van vid från matematiken.
  • Glöm inte att returnera summan.

Lösningsförslag

Klicka här för lösningsförslag!

Alternativ 1

Alternativ 2 👍

2.3 Konvertera minuter till sekunder

Skriv en funktion tar ett heltal minuter som argument, konverterar det till sekunder och returnerar det värdet.

Exempel

Tips

  • Du uttrycker en multiplikation med operatorn *.
  • Glöm inte att returnera resultatet.

Lösningsförslag

Klicka här för lösningsförslag!

Alternativ 1

Alternativ 2

Alternativ 3