Базовый синтаксис: комментарии, точки с запятой, регистр символов

📝 Комментарии: оставляем заметки для себя и других

Комментарии — это «липкие заметки» в коде. Они не исполняются, но помогают понять логику. В 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!
}

👉 Где точки с запятой обязательны:

  1. Перед (, [, `, если они идут в начале строки
  2. После break, return, throw, yield
// Безопасный код с защитой от ASI
;(function() {
  console.log('IIFE работает!')
})()

👑 Регистр символов: JS — чувствителен к буквам!

JavaScript различает myVar и MyVar. Вот главные правила:

  1. camelCase — стандарт для переменных и функций: javascript let userAccountBalance = 1000; function calculateTotalPrice() {}

  2. PascalCase — для классов и конструкторов: javascript class UserProfile {} function ApiClient() {}

  3. UPPER_CASE — для констант: javascript const API_KEY = 'secret123'; const MAX_RETRIES = 3;

⚠️ Осторожно: nullNULL, NaNnan. Только оригинальные написания!


🧩 Собираем всё вместе

Пример кода с комментариями, точками с запятой и регистром:

// Класс для работы с пользователем (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 для классов
  • ✔️ Проверяю регистр в ключевых словах (true vs TRUE)
Скрыть рекламу навсегда

📘 VK Видео — обучение без ограничений

Все уроки доступны без VPN, без блокировок и зависаний.

Можно смотреть с телефона, планшета или компьютера — в любое время.

▶️ Смотреть на VK Видео