Javascript Klasser og Funksjoner
JavaScript Grunnleggende – Oppsummering med Eksempler og Oppgaver
Dette dokumentet oppsummerer grunnleggende konsepter i JavaScript relatert til bruk av klasser, funksjoner, frontend (React) og backend (Node.js), inkludert praktiske eksempler og oppgaver.
🔁 1. Forskjellen på Node.js og React
Teknologi | Hva det er | Bruksområde |
---|---|---|
Node.js | JavaScript-runtime (backend) | Kjører kode på serveren, lager API-er |
React | JavaScript-bibliotek (frontend) | Lager brukergrensesnitt i nettleseren |
🧪 Eksempel
Node.js server:
app.get('/api/hello', (req, res) => {
res.json({ message: 'Hei fra backend!' });
});
React frontend:
useEffect(() => {
fetch('http://localhost:5000/api/hello')
.then(res => res.json())
.then(data => setMessage(data.message));
}, []);
✅ Oppgave
- Lag et enkelt Express-API med én rute som returnerer
"Velkommen"
. - Lag en React-app som henter denne meldingen og viser den på skjermen.
🧱 2. Hvordan frontend og backend snakker sammen
- React bruker
fetch()
elleraxios
for å hente data. - Node.js må aktivere CORS for å tillate det:
const cors = require('cors');
app.use(cors());
✅ Oppgave
- Legg til CORS i Express.
- Lag en knapp i React som, når du klikker, henter data fra en
/api/data
-rute.
🧱 3. Klasser (class
) i JavaScript
class Bruker {
constructor(navn, alder) {
this.navn = navn;
this.alder = alder;
}
siHei() {
console.log(`Hei, jeg heter ${this.navn}`);
}
}
✅ Oppgave
- Lag en
Bil
-klasse medmerke
,modell
ogår
. - Legg til en metode
beskriv()
som skriver ut informasjon om bilen. - Lag to biler og kall metoden på dem.
🔧 4. Funksjoner (function
)
function erVoksen(alder) {
return alder >= 18;
}
✅ Oppgave
- Lag en funksjon
regnUtPris(pris, moms)
som returnerer pris med moms. - Lag en funksjon
siVelkommen(navn)
som returnerer en tekst:Velkommen, <navn>
.
🤝 5. Klasser og funksjoner sammen
class Produkt {
constructor(navn, pris) {
this.navn = navn;
this.pris = pris;
}
}
function totalPris(produkter) {
return produkter.reduce((sum, p) => sum + p.pris, 0);
}
✅ Oppgave
- Lag en
Kunde
-klasse mednavn
oghandlekurv
(en liste av produkter). - Lag en funksjon
beregnTotal(kunde)
som summerer handlekurven.
🧭 6. Eksport og import
Eksport av klasse:
export class Person {
constructor(navn) {
this.navn = navn;
}
}
Import:
import { Person } from './Person.js';
✅ Oppgave
- Lag en fil
Person.js
med enPerson
-klasse. - Eksporter den og importer den i
main.js
. - Lag et objekt og kall en metode på det.
⚡ 7. Arrow Functions
const pluss = (a, b) => a + b;
const hei = navn => `Hei, ${navn}`;
✅ Oppgave
- Lag en arrow-funksjon
erLike(a, b)
som returnerertrue
hvis tallene er like. - Lag en array med navn, og bruk
map()
med en arrow-funksjon til å skrive ut:Hei, <navn>
.
📌 Nøkkelbegreper
Begrep | Forklaring |
---|---|
this | Peker på objektet som funksjonen/metoden tilhører |
constructor() | Kjøres når du bruker new på en klasse |
new | Lager et nytt objekt fra en klasse |
export/import | Gjør det mulig å dele kode mellom filer |
Oppdatert: Juli 2025