Apr 27, 2026
JavaScript functions do not all decide this the same way.
Regular functions usually get this from how they are called. Arrow functions do not create their own this at all.
This post is about two questions:
Where does a …
Apr 27, 2026
Closures show up any time a JavaScript function uses a variable defined from outside its own curly braces.
That makes them common in callbacks, event handlers, timers, factory functions, and plenty of code that passes …
Apr 26, 2026
Hoisting is JavaScript’s setup behavior for declarations.
It affects whether a function or variable can be used before the line where it appears in the file. That matters because function, var, let, and const do …
Apr 25, 2026
Most JavaScript code starts with a simple act: you give a value a name. We call that a variable declaration.
That sounds small, but the way you create that name affects how the rest of your code can use it. A variable …
Oct 22, 2025
A Promise is a guaranteed placeholder value for what a function or series of functions will return.
It’s a promise to return a value eventually.
The function swears this time is different. You can trust it. It …
Aug 24, 2024
I ran into this error while using Rollup and the uuid package:
Error: Crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported
The problem? It boiled down to this small …
Mar 3, 2022
The JavaScript spread ... syntax is amazing.
What it does is let you take the individual items from an array, or the individual properties from an object, and spread them out into another place.
That “another …
May 3, 2021
Brief History of Callbacks It all starts with the callback function.
A callback function is just a plain JavaScript function that is passed into another function as an argument.
That’s it. Nothing special.
This …
Sep 17, 2020
JavaScript Function Signatures Alright, you’ve probably seen functions before. Something like this maybe?
function doSomething(name, desc, task) { // did something } This function, named doSomething, takes three …