TypeScript / JavaScript
Critical rules for TypeScript and JavaScript development.
Types & Safety
- •Use strict TypeScript (
strict: true); avoidany,unknownonly when truly unknown - •Prefer
interfacefor object shapes;typefor unions/intersections/utilities - •No implicit
any; explicit return types on exported functions - •Use
as constfor literals; avoid type assertions (as) unless unavoidable - •Nullish: prefer
??over||; use optional chaining?.over manual checks
Code Style
- •
constby default;letonly when mutation needed; nevervar - •Destructure props/objects at function entry
- •Arrow functions for callbacks; named functions for top-level/exported
Async & Error Handling
- •Always
awaitpromises or explicitly handle them; no floating promises - •Use try/catch for async; propagate errors with context
- •Avoid
.then()/.catch()chains; prefer async/await
Modules & Imports
- •Imports at file top, grouped: external → internal → types
- •Prefer named exports; default exports only for pages/components where framework requires
- •No circular imports