Skip to Content
0 likes
Make a Button Do Something With addEventListener Level: Beginner

Find the button, attach a listener, change something on the page when it's clicked. Three steps, and two mistakes that make it silently do nothing.

0 likes
JavaScript Arrays in 15 Minutes Level: Beginner

Arrays hold lists: cart items, names, scores. Create them, read them, add and remove items, find things, and copy them without changing the original by accident.

0 likes
Arrow Functions in 10 Minutes Level: Beginner

Arrow functions are a shorter way to write a function, and they are everywhere in modern JavaScript. Learn the short forms, the object-return trap, and the one place you shouldn't use them.

0 likes
Debugging With console.log Without Drowning in Output Level: Beginner

console.log is the fastest way to see what your code is doing, until it prints 300 lines and you can't find the one that matters. Label your logs, log objects properly, use console.table and console.group, and clean up before you ship.

0 likes
Fix Form Comparisons That Confuse Blank Input With Zero Level: Beginner

Separate missing, invalid and numeric form input, then compare normalized quantities without treating an empty field as zero.

0 likes
for...of vs for...in: Which Loop for Which Job Level: Beginner

for...of gives you the values of an array. for...in gives you the keys of an object, as strings. Mix them up and you get indexes instead of items, or worse.

0 likes
Fix a Const Assignment Error in a Browser Filter Level: Beginner

Trace a const reassignment inside an input handler, preserve the original list, and verify that filtering and clearing the query both work.

0 likes
Template Literals: Stop Gluing Strings With + Level: Beginner

Backticks and ${} replace most string gluing with +. You get readable text, values inside it, and multi-line strings without \n everywhere.

0 likes
Why "5" + 1 Is "51": Type Conversion in JavaScript Level: Beginner

"5" + 1 is "51" because + joins text before it adds numbers. Convert values on purpose with Number(), String() and parseInt(), check for NaN, and stop letting JavaScript guess for you.

0 likes
Reading "Uncaught TypeError" Without Panicking Level: Beginner

"Uncaught TypeError: Cannot read properties of undefined" means you used a value that wasn't there. Read the message, find the line, check what is actually undefined, then fix the cause instead of hiding it.

0 likes
JavaScript Classes With Getters and Setters Level: Intermediate

Getters compute a value when you read it, so totals never go stale. Setters check a value when you assign it, so a negative price throws instead of saving. With private fields, nobody can go around them.

0 likes
Custom Error Classes You Can Actually Catch Level: Intermediate

Stop checking error messages with includes(). Extend Error, set name, add the fields the handler needs, catch with instanceof, and wrap low-level errors with cause so the real reason isn't lost.