sandra-larsson
Educator Fullstack Developer Javascript at Chas Academy
FJS26 · V48 · ONSDAG
Granska AI:ns lösning på exempelprovet, och repetera inför torsdagen.
Chas Academy · Onsdag 25 november 2026
I v46 granskade ni varandras kod. Idag granskar ni kod som ingen människa har skrivit, och som själv påstår att den är rätt.
FRÅN V46
praise, question, suggestion, issue eller nitpick, och (blocking) eller (non-blocking).
Vad är problemet, varför är det ett problem, och hur kan det lösas?
AI-KOD
Kommentarer som ”Robust lösning” och ”bästa prestanda” är påståenden. De bevisar ingenting.
Men inte alltid uppgiften. Rätt utskrift med fel metod, eller ett krav som tolkats fel.
Mutation, ingen kontroll av response.ok, this i en callback, fel import. Bara snabbare och med bättre självförtroende.
AI-KOD
type="module", och att det som importeras exporteras.Du ansvarar för koden du lämnar in, oavsett vem som skrev den.
Övning
Skapa ett eget repo från code-along-kodgranskning-261125 med Use this template, och kryssa i Include all branches. Öppna en pull request från ai-losning till main och kör koden fråga för fråga. Skriv kommentarer på raderna det gäller, med etikett och vad, varför och hur. Avsluta med en sammanfattning: hur många poäng av 30, och vilka tre saker är viktigast att rätta?
40 min
Du hittar brister i kod som ser färdig ut, och formulerar dem så att författaren kan rätta dem.
FRÅGA 2
// ✅ Skapar car2 och uppdaterar speed
const car2 = car;
car2.speed = 200;
const { name, speed } = car;
// Name: Volvo, Speed: 200const car2 = { ...car, speed: 200 };
const { name, speed } = car;
// Name: Volvo, Speed: 100FRÅGA 4 OCH 7
function combineArrays(arr1, arr2) {
arr1.push(...arr2);
return arr1;
}
// rättat:
return [...arr1, ...arr2];people.map((person) => {
person.adult = person.age >= 18;
return person;
});
// rättat:
people.map((person) =>
({ ...person, adult: person.age >= 18 }));FRÅGA 1.2 OCH 5
const lastNameFirst = [];
fullName.forEach((name) => {
const parts = name.split(' ');
lastNameFirst.push(
parts[1] + ', ' + parts[0]);
});// ✅ Robust: hanterar både
// stora och små bokstäver
words.filter((word) =>
word.toLowerCase().includes('a'));
// 'Apple' kommer med. Det ska det inte.FRÅGA 8
const response = await fetch(url); const todos = await response.json(); const completed = todos .filter((todo) => todo.completed) .slice(0, 20); // 20 rader, testet väntar 11
if (!response.ok) {
throw new Error(
`Kunde inte hämta (${response.status})`);
}
const completed = todos
.slice(0, 20)
.filter((todo) => todo.completed);FRÅGA 9 OCH 10
listBooks() {
this.books.forEach(function (book) {
console.log(`${this.name}: ...`);
});
}
// TypeError: Cannot read properties
// of undefined (reading 'name')import { Book, Author }
from './question9';
// saknar .js, och question9
// exporterar inget
<script src="question10.js" defer>
// Cannot use import statement
// outside a moduleNästan allt ser ut att fungera. Min uppskattning: 15–17 poäng av 30. Det räcker inte till godkänt.
REFAKTORERA
REFAKTORERA
list.innerHTML = movies
.map((m) => `<li>${m.title} (${m.year})</li>`)
.join('');const items = movies.map((movie) => {
const li = document.createElement('li');
li.textContent =
`${movie.title} (${movie.year})`;
return li;
});
list.append(...items);KURSMÅL 1
console.log('A');
setTimeout(() => console.log('B'), 0);
Promise.resolve()
.then(() => console.log('C'));
console.log('D');async function load() {
console.log('1');
await null;
console.log('2');
}
load();
console.log('3');KURSMÅL 2
dependencies eller devDependencies?
Formaterar datum i appen.
Utvecklingsserver och bygge.
Hittar fel i koden.
Formaterar koden.
KURSMÅL 2
console.log(totl); // totl is not defined
const name = "Ada" // fel citattecken, inget semikolon
const result = calc(); // result används aldrig
KURSMÅL 3
En kortlek i ett spel. Den blandas, kort dras, och leken minns vilka kort som är kvar.
En lista med produkter som filtreras på pris, sorteras och visas.
En kassa med en varukorg och en totalsumma med rabatt och moms.
TORSDAG 26 NOVEMBER
chasacademy-sandra-larsson, klona. Forka inte.I KVÄLL
By sandra-larsson