Базовый синтаксис: комментарии, точки с запятой, регистр символов
📝 Комментарии: оставляем заметки для себя и других
Комментарии — это «липкие заметки» в коде. Они не исполняются, но помогают понять логику. В JavaScript есть два типа:
// Однострочный комментарий — всё после // игнорируется
/*
Многострочный комментарий.
Идеален для сложных пояснений!
*/
💡 Совет от Данилы Бежина:
Хороший комментарий объясняет «почему», а не «что». Код и так показывает действия.
Пример плохого комментария:
let x = 5; // присваиваем x значение 5
Пример полезного:
// 5 — минимальное кол-во попыток для API (см. docs/v3#retry-policy)
let retryAttempts = 5;
🔍 Точки с запятой: ставить или не ставить?
JavaScript — «терпеливый» язык. Он автоматически вставляет точки с запятой (ASI, Automatic Semicolon Insertion), но не всегда правильно.
✅ Стиль «всегда ставить» (рекомендуется новичкам):
const greeting = 'Hello';
console.log(greeting);
❌ Опасный пример без точки с запятой:
function getData() {
return
{ result: 'success' }; // вернёт undefined из-за ASI!
}
👉 Где точки с запятой обязательны:
- Перед
(,[,`, если они идут в начале строки - После
break,return,throw,yield
// Безопасный код с защитой от ASI
;(function() {
console.log('IIFE работает!')
})()
👑 Регистр символов: JS — чувствителен к буквам!
JavaScript различает myVar и MyVar. Вот главные правила:
-
camelCase — стандарт для переменных и функций:
javascript let userAccountBalance = 1000; function calculateTotalPrice() {} -
PascalCase — для классов и конструкторов:
javascript class UserProfile {} function ApiClient() {} -
UPPER_CASE — для констант:
javascript const API_KEY = 'secret123'; const MAX_RETRIES = 3;
⚠️ Осторожно:
null≠NULL,NaN≠nan. Только оригинальные написания!
🧩 Собираем всё вместе
Пример кода с комментариями, точками с запятой и регистром:
// Класс для работы с пользователем (PascalCase)
class User {
constructor(name) {
this.name = name; // camelCase для свойств
this.loginCount = 0;
}
// Метод увеличивает счётчик логинов
incrementLogin() {
this.loginCount++;
}
}
// Константа (UPPER_CASE)
const DEFAULT_TIMEOUT = 3000;
// Функция создания пользователя (camelCase)
function createUser(name) {
;[1, 2, 3].forEach(i => console.log(i)); // Защита от ASI
const user = new User(name); // экземпляр класса
user.incrementLogin();
return user;
}
🏆 Лучшие практики
1. Комментарии:
- Используйте
//для временных заметок /** */для документации (JSDoc)- Удаляйте устаревшие комментарии
2. Точки с запятой:
- Выберите один стиль и придерживайтесь его
- В сомнительных случаях ставьте явно
3. Регистр:
- Следуйте conventions вашей команды
- Не изобретайте новые стандарты
/**
* Рассчитывает скидку (JSDoc-комментарий)
* @param {number} total - Общая сумма заказа
* @returns {number}
*/
function applyDiscount(total) {
const DISCOUNT_THRESHOLD = 1000;
return total > DISCOUNT_THRESHOLD ? total * 0.9 : total;
}
🔥 Чек-лист для самопроверки
- ✔️ Умею объяснить разницу между
//и/* */ - ✔️ Знаю, где ASI может «подставить»
- ✔️ Использую camelCase для переменных и PascalCase для классов
- ✔️ Проверяю регистр в ключевых словах (
truevsTRUE)