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 eacharr.filter(fn)Keep matchingarr.reduce(fn, init)Fold to one valuearr.find(fn)First matcharr.some(fn)Any match?arr.every(fn)All match?arr.flatMap(fn)Map + flattenarr.includes(x)Contains valueFunctions
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 keysObject.values(o)Array of valuesObject.entries(o)[key, value] pairsObject.assign({}, o)Shallow clonestructuredClone(o)Deep cloneo?.a?.bOptional chaininga ?? bNullish coalescingStrings
s.includes("x")Contains substrings.split(",")To arrays.trim()Strip whitespaces.padStart(3, "0")Left pads.replaceAll("a","b")Replace all`${x} and ${y}`Template literal