Зачем имя значению
В прошлом уроке всё считалось прямо внутри console.log. Так можно ровно до второй строки:
console.log("Цена:", 1200);
console.log("Скидка:", 1200 * 0.2);
console.log("Итого:", 1200 - 1200 * 0.2);
Число 1200 стоит три раза. Поменялась цена — править в трёх местах, и забыть одно из них проще простого. Решение старое, как сама математика: дать значению имя.
let цена = 1200;
Читается так: «заведи имя цена и положи в него 1200». Слово let означает «объявляю новое имя». Знак = здесь не «равно», а «положи туда» — это важно, потому что в JavaScript равенство пишется иначе, и путаница между ними даёт самую частую опечатку новичка.
Теперь имя можно использовать вместо значения:
let цена = 1200;
console.log("Цена:", цена);
console.log("Скидка:", цена * 0.2);
console.log("Итого:", цена - цена * 0.2);Цена: 1200 Скидка: 240 Итого: 960
Поменяйте 1200 на 900 в одной строке — и пересчитается всё. Это и есть первая настоящая выгода: одно место правды.
let и const
Слов для объявления два, и выбирают между ними по одному признаку: будет ли значение меняться.
let счёт = 0; значение будет меняться
const имя = "Аня"; значение останется прежним
let разрешает положить в имя другое значение:
let счёт = 0;
счёт = 10;
счёт = счёт + 5;
console.log(счёт);15
Обратите внимание на третью строку. счёт = счёт + 5 выглядит как математическая бессмыслица, но это не уравнение: сначала считается правая часть (10 + 5), потом результат кладётся в имя слева. Читать такие строки надо справа налево.
const запрещает:
const имя = "Аня";
имя = "Боря"; ← программа остановится
По умолчанию берут const, и меняют на let, когда выясняется, что значение должно меняться. Причина не в строгости, а в чтении: const сообщает читателю «дальше это не изменится», и одну возможность в голове держать не нужно.
Правила имён
Имя переменной нельзя придумать совсем произвольно. Правил немного:
можно буквы, цифры, знак подчёркивания и доллара
нельзя начинаться с цифры
нельзя занятые языком слова: let, const, if, for, function
важно регистр: цена и Цена — два разных имени
Русские буквы в именах язык разрешает, и в этом курсе мы иногда ими пользуемся — так короче объяснять. В настоящей работе пишут латиницей: код читают люди из разных стран, а библиотеки и сообщения об ошибках всё равно английские.
let totalPrice = 960; принято в JavaScript
let total_price = 960; принято в других языках
let TotalPrice = 960; так называют не переменные
Первый способ называется «горбатым»: слова пишут слитно, каждое следующее с большой буквы. Это не закон языка, а договорённость сообщества — но настолько повсеместная, что отступление от неё читается как ошибка.
Ещё одно правило, которое язык не проверяет, но которое важнее всех остальных: имя должно быть честным.
let d = 86400; что это?
let секундВСутках = 86400; понятно без комментария