Cheatsheets/JavaScript
Languages

JavaScript

Modern ES2023 — arrays, objects, async, and the good parts.

Variables

const x = 1;      // block-scoped, no reassign
let y = 2;        // block-scoped, reassignable
// avoid var (function-scoped)

const { a, b } = obj;        // destructure
const [first, ...rest] = arr;
const merged = { ...a, ...b };

Array methods

arr.map(fn)Transform each
arr.filter(fn)Keep matching
arr.reduce(fn, init)Fold to one value
arr.find(fn)First match
arr.some(fn)Any match?
arr.every(fn)All match?
arr.flatMap(fn)Map + flatten
arr.includes(x)Contains value

Functions

const add = (a, b) => a + b;
const greet = (name = "world") => `Hi ${name}`;

// rest params
const sum = (...nums) => nums.reduce((a, b) => a + b, 0);

// IIFE
(() => { /* ... */ })();

Async

async function load() {
  try {
    const res = await fetch(url);
    const data = await res.json();
    return data;
  } catch (err) {
    console.error(err);
  }
}

await Promise.all([p1, p2]);
await Promise.allSettled([p1, p2]);

Objects

Object.keys(o)Array of keys
Object.values(o)Array of values
Object.entries(o)[key, value] pairs
Object.assign({}, o)Shallow clone
structuredClone(o)Deep clone
o?.a?.bOptional chaining
a ?? bNullish coalescing

Strings

s.includes("x")Contains substring
s.split(",")To array
s.trim()Strip whitespace
s.padStart(3, "0")Left pad
s.replaceAll("a","b")Replace all
`${x} and ${y}`Template literal