Track
JavaScript
Review control flow, async behavior, naming, and side effects.
- 01
Strict equality and nullish checks
Compare values intentionally and preserve meaningful falsy values.
equalitynullishcoercion - 02
Guard clauses
Use early returns to keep exceptional cases out of the main path.
control-flowreadabilityvalidation - 03
Validating data boundaries
Check data from outside your code before the rest of the function trusts it.
validationboundariesdefensive-code - 04
Naming side effects
Name functions so callers can see when data will be mutated.
namingmutationside-effects - 05
Array transformations
Use array methods to make collection changes readable and avoid accidental mutation.
arraysimmutabilityreadability - 06
Async error handling
Check request failures and non-2xx response statuses before parsing data.
asyncfetcherrors - 07
Promise concurrency
Run independent async work together instead of waiting one request at a time.
asyncpromisesperformance - 08
Event listener cleanup
Pair event listeners with cleanup so repeated setup does not duplicate behavior.
eventscleanupbrowser - 09
Module boundaries and globals
Keep shared behavior behind module APIs instead of scattering mutable global state.
modulesglobalsarchitecture - 10
Dates and time zones
Format dates with explicit locale and time zone choices instead of manual date math.
datestime-zonesinternationalization
Related tracks
Keep learning inside the same language family.
TypeScript
10Review type narrowing, API boundaries, unions, and safer function shapes.
React
10Review component boundaries, state, effects, and rendering decisions.
Vue
10Review single-file components, props, emits, reactivity, composables, stores, and slots.
Next.js
10Review App Router structure, server boundaries, data fetching, and route APIs.
Node.js
10Review runtime boundaries, async I/O, HTTP lifecycle, logging, and process safety.
Express
10Review app factories, routers, middleware order, validation, auth, and error handling.
NestJS
10Review modules, controllers, providers, validation pipes, guards, filters, interceptors, config, and tests.