Braces Are Mandatory
if (!user) {
return;
} if (!user) return; Use Semicolons
const session = createSession(user);
session.start(); Pureline JavaScript uses semicolons consistently.
const First
const user = loadUser(); Use let only for actual reassignment:
let count = 0;
count++; Do not use var.
Prefer async / await
async function loadUser(id) {
const response = await fetch(`/users/${id}`);
if (!response.ok) {
return null;
}
return response.json();
} Avoid promise chains when async / await produces clearer control flow.
Arrow Functions Are Contextual
function createSession(user) {
return new Session(user);
} users.filter(user => user.active()); Do not use arrow functions everywhere by default.
Destructuring Must Improve Clarity
const { id, name } = user; Avoid destructuring large objects only because the language allows it.