Vanliga konstruktioner 1
Den här artikeln använder node för att visa koden. Vill du koda med startar du node eller lägger in koden i en fil som du exekverar.
$ nodeWelcome to Node.js v22.11.0.Type ".help" for more information.>
Markören >
visar att den så kallade interpretatorn är igång. Det verkar ju lovande.
Interpretatorn
Man brukar se JavaScript som ett interpreterat språk och inte ett kompilerat. Traditionella språk som C# eller C++ behöver en kompilator som översätter koden till maskinkod så datorn förstår den och kan exekvera den. Även fast tolkningsprocessen till viss del kan liknas vid en kompilering så kallas det som sagt ett interpreterande språk. Oftast kör vi JavaScript i webbläsaren och där tolkar webbläsaren koden rad för rad innan den exekveras. I dagasläget använder webbläsarna en teknik som kallas JIT compilation (Just In Time), som renderar koden direkt vid exekvering (och de kallar faktiskt sin teknik för “kompilering”).
Interpretatorn tolkar koden och översätter den till maskinkod så datorn kan hantera den. Vi kan använda interpretatorn för att snabbt testa olika konstruktioner. Vi testar en kodsnutt:
> let myVar = 42undefined> myVar42>
Vi kan se att det returneras undefined efter vi deklarerat och definierat variabeln myVar
. Alla uttryck returnerar undefined om de inte har ett annat värde. När vi till exempel bara kör variabeln så returneras dess värde.
Vi avslutar interpretatorn med Ctrl+D
.
JavaScript i fil
Om man hellre vill spara koden så vi kan exekvera den fler gånger utan att behöva ha igång en interpretator. Om vi lägger JavaScriptkoden i en fil så kan vi exekvera filen med $ node filename.js
, där filename då byts ut mot din egna fil.
Skapa filen variables.js
.
$ touch variables.js
Öppna den i valfri editor och lägg in följande kod:
const value = 25const text = `lite text`let newValue = value + 15
newValue += 2
console.log(value)console.log(text)console.log(newValue)
Vi skapar några variabler vi kan leka med. När vi deklarerar variablerna behöver vi berätta hur de ska bete sig. Vi väljer mellan let
och const
. De variabler vi inte ska ändra på skapar vi som konstanter, const
. Vi skriver ju bara ut dem. Ska vi ändra på dem använder vi let
.
Nu kan vi köra programmet med $ node variables.js
:
$ node variables.js25lite text42
Dåså, nu vet vi olika sätt att köra vår kod så nu kan vi titta närmare på de vanligaste konstruktionerna.
Vanliga konstruktioner
Vi tar och tittar på de vanligaste konstruktionerna och hur de se ut i JavaScript.
If/else/else if
Vi kontrollerar om variablen value
är större än, mindre än eller samma som maxValue
.
const value = 42const maxValue = 40
if (value > maxValue) { console.log(`${value} is higher than ${maxValue}`)} else if (value < maxValue) { console.log(`${value} is lower than ${maxValue}`)} else { console.log(`${value} is the same as ${maxValue}`)}
Här radas alla tre upp direkt men man behöver inte använda alla på en gång. Om man till exempel bara vill kontrollera om value
är större än maxValue
räcker det med if:
const value = 42const maxValue = 40
if (value > maxValue) { console.log(`${value} is higher than ${maxValue}`)}
Switch statement
Vi skriver ut en dag baserat på värdet av tex metoden .getDay() som returnerar en siffra.
let day = null
switch (new Date().getDay()) { case 0: day = "Sunday"; break; case 1: day = "Monday"; break; case 2: day = "Tuesday"; break; case 3: day = "Wednesday"; break; case 4: day = "Thursday"; break; case 5: day = "Friday"; break; case 6: day = "Saturday"; break default: day = "Not a valid weekday"}
console.log(day) // Prints the current day of the week
Avslutningsvis
Det var lite kort om de vanligaste konstruktionera i JavaScript och dess syntax. Dessa kan vara bra att ha tillhands när vi gör labben.