Пошук уроків, статей та іншого контенту
Особливості крапки з комою в JavaScript
JavaScript-програма складається з інструкцій — команд, які виконує рушій.
Наприклад:
const name = "Anna";
const age = 25;
console.log(name);Тут є декілька окремих інструкцій.
У JavaScript інструкції часто завершують символом:
;Наприклад:
const price = 100;
const quantity = 2;
const total = price * quantity;
console.log(total);Але JavaScript у багатьох випадках дозволяє писати:
const price = 100
const quantity = 2Чому?
Через механізм Automatic Semicolon Insertion — ASI.
Рушій може автоматично вставляти крапку з комою у певних місцях.
;?Обидва стилі використовуються у реальних проєктах.
З ;:
const name = "Anna";
console.log(name);Без ;:
const name = "Anna"
console.log(name)Головне — дотримуватися єдиного стилю в межах проєкту та використовувати форматери й лінтери.
Для початківців використання ; часто робить межі інструкцій більш очевидними.
Існують ситуації, коли відсутність ; може змінити поведінку коду.
Наприклад, рядки, що починаються з:
(
[
`у певному контексті можуть бути інтерпретовані як продовження попереднього виразу.
Саме тому не варто думати:
«Крапка з комою взагалі не має значення».
Правильніше:
JavaScript має ASI, але розробник повинен розуміти його поведінку.
Не обов'язково.
Можна написати:
const user = {
name: "Anna",
age: 25,
city: "Kyiv"
};Це одна декларація змінної, хоча вона займає декілька рядків.
І навпаки:
const a = 1; const b = 2;технічно допустимо, але читається гірше.
Краще:
const a = 1;
const b = 2;Ставити ; після блоку if без потреби.
if (age >= 18); {
console.log("Adult");
}Ця крапка з комою змінює логіку програми.
Вважати новий рядок гарантованим завершенням інструкції. JavaScript аналізує синтаксис, а не просто рядки.
Змішувати стилі хаотично. Використовуйте єдиний стиль і автоматичне форматування.
JavaScript складається з інструкцій.
Крапка з комою:
;використовується для явного завершення багатьох інструкцій.
JavaScript має механізм ASI, тому ; іноді можна опускати. Але важливо розуміти, що це не означає, ніби крапка з комою ніколи не впливає на код.