- Use `const` by default, `let` when rebinding is needed — never use `var`. Destructure objects and arrays at assignment.
- Use `===` and `!==` for equality checks — `==` performs type coercion that causes subtle bugs.
- Use template literals for string interpolation and multi-line strings — avoid string concatenation with `+`.
- Use template literals for string interpolation. Use optional chaining (`?.`) and nullish coalescing (`??`).
- Prefer `async`/`await` over `.then()` chains for readability.
- Use destructuring for objects and arrays. Use spread (`...`) instead of `Object.assign`.
- Prefer `Array.from()`, `.map()`, `.filter()`, `.reduce()` over manual loops for data transformation.
- Use `===` and `!==` exclusively — never use loose equality.