Week 1 – Introductie Node.js

Doelen: omgeving opzetten · eerste script · CLI · synchroon vs asynchroon

Wat is Node.js?

  • JavaScript-runtime op V8 (zelfde engine als Chrome), buiten browser
  • Eén taal full-stack (front- én backend)
  • Groot ecosysteem via npm

CLI-basics

. # deze map
.. # vorige map
/ # root (diepste niveau van bestandsstructuur)
~ # home folder van de ingelogde user

CLI-basics

pwd # waar ben ik
ls # wat zit er in deze map
cd desktop # ga naar de map desktop (als deze te vinden is in de huidige map)
mkdir demo # maak een map
cd demo
node            # node shell starten (.exit om af te sluiten)

CLI-basics

ls desktop # wat zit er in de desktop map
ls . # wat zit er in deze map
ls .. # wat zit er in de parrent map
cd . # ga naar de huidige map (doet niets natuurlijk)
cd .. # ga naar de vorige map

CLI-basics

ni index.js # maak een bestand aan
rm index.js # verwijder bestand
cp index.js script.js # copy bestand
mv script.js script2.js # verplaats/hernoem bestand
cat index.js # lees bestand
code index.js # open bestand/folder in visual studio code

Eerste script

// bestand: app.js
function begroet(naam) {
  return `Hallo, ${naam}!`;
}

console.log(begroet("6 ADA"));
node app.js
# Verwachte output: Hallo, 6 ADA!

CLI-argumenten

// bestand: hello.js
const naam = process.argv[2] ?? "wereld";
console.log(`Hallo, ${naam}!`);
node hello.js Ada
# Output: Hallo, Ada!

Oefening 1 — Hallo wereld 👋

  1. Maak een bestand app.js.
  2. Voer het uit met node app.js.
Toon code
console.log("Hallo Node.js!");

Verwachte output:

Hallo Node.js!

Oefening 2 — Variabelen gebruiken

  1. Maak twee variabelen: je naam en je leeftijd.
  2. Log één zin die beide waarden toont.
Toon code
let naam = "Sara";
let leeftijd = 20;
console.log("Mijn naam is " + naam + " en ik ben " + leeftijd + " jaar oud.");

Verwachte output:

Mijn naam is Sara en ik ben 20 jaar oud.

Oefening 3 — Rekenen met getallen ➕➖✖️➗

  1. Maak twee getallen.
  2. Toon som, verschil, product en quotiënt.
Toon code
let a = 10;
let b = 5;
console.log("Som: " + (a + b));
console.log("Verschil: " + (a - b));
console.log("Product: " + (a * b));
console.log("Quotiënt: " + (a / b));

Verwachte output:

Som: 15
Verschil: 5
Product: 50
Quotiënt: 2

Oefening 4 — Even of oneven 🔢

  1. Maak een variabele getal.
  2. Toon of het getal even of oneven is.
Toon code
let getal = 7;
if (getal % 2 === 0) {
  console.log(getal + " is even");
} else {
  console.log(getal + " is oneven");
}

Verwachte output:

7 is oneven

Oefening 5 — Lussen ⭮

  1. Toon de getallen van 1 t/m 10 in de terminal.
Toon code
for (let i = 1; i <= 10; i++) {
  console.log("Nummer: " + i);
}

Verwachte output (ingekort):

Nummer: 1
Nummer: 2
...
Nummer: 10

Oefening 6 — Tafels van vermenigvuldiging ✖️

  1. Maak een variabele getal.
  2. Toon de tafel van dit getal (1 t/m 10).
Toon code
let getal = 3;
console.log("Tafel van " + getal);
for (let i = 1; i <= 10; i++) {
  console.log(getal + " x " + i + " = " + (getal * i));
}

Verwachte output (ingekort):

Tafel van 3
3 x 1 = 3
3 x 2 = 6
...
3 x 10 = 30

Oefening 7 — Arrays 📦

  1. Maak een array met vijf namen.
  2. Toon elke naam in de terminal.
Toon code
let namen = ["Ali", "Sara", "Tom", "Lotte", "Eva"];
for (let i = 0; i < namen.length; i++) {
  console.log("Hallo " + namen[i]);
}

Verwachte output:

Hallo Ali
Hallo Sara
Hallo Tom
Hallo Lotte
Hallo Eva

Oefening 8 — Functies 🛠️

  1. Maak een functie telOp(a, b) die twee getallen optelt.
  2. Roep de functie drie keer aan met verschillende waarden.
Toon code
function telOp(a, b) {
  return a + b;
}
console.log("3 + 7 = " + telOp(3, 7));
console.log("10 + 5 = " + telOp(10, 5));
console.log("100 + 250 = " + telOp(100, 250));

Verwachte output:

3 + 7 = 10
10 + 5 = 15
100 + 250 = 350

Oefening 9 — Bonus: Dobbelsteen 🎲

  1. Schrijf een functie die een dobbelsteenworp simuleert (1 t/m 6).
  2. Toon het resultaat in de terminal.
Toon code
function gooiDobbelsteen() {
  return Math.floor(Math.random() * 6) + 1;
}
console.log("Je gooide een " + gooiDobbelsteen());

Voorbeeldoutput:

Je gooide een 4