JavaScript
December 15, 2024

Основы JavaScript

1. Основы JavaScript

1.1 Переменные и типы данных

Что такое переменная? 🤔

Переменная — это ячейка в памяти, в которой хранится информация. Это может быть число, текст, объект или что-то ещё. Ты можешь использовать переменные, чтобы «запомнить» данные и работать с ними.

Как объявлять переменные?

JavaScript предоставляет три способа объявления переменных:

  • var — устаревший способ. Не рекомендуется, потому что имеет проблемы с областью видимости. Мы обсудим это ниже.
  • let — используется для переменных, которые могут изменяться.
  • const — используется для переменных, значение которых не должно изменяться.

Почему не стоит использовать var? ⚠️

  • Глобальная область видимости: переменные, объявленные с помощью var, «видимы» повсюду в функции, даже до их объявления. Это может привести к ошибкам.
  • Нет блочной области видимости: в отличие от let и const, var игнорирует блоки кода, такие как {}.
if (true) {
  var x = 10;
}
console.log(x); // 10 (даже вне блока)

Теперь сравним с let:

if (true) {
  let y = 10;
}
console.log(y); // Ошибка: y is not defined

Как правильно именовать переменные? ✍️

  • Используй английский язык. Например: userName, totalAmount.
  • Не начинай с цифры. ❌ 1name — неверно.
  • Используй camelCase для удобства чтения: userAge, isLoggedIn.

Типы данных в JavaScript 📊

JavaScript имеет несколько типов данных:

Примитивные типы:

    • string (строки): 'Привет', "JavaScript"
    • number (числа): 42, 3.14
    • boolean (логический): true, false
    • null (пустое значение)
    • undefined (неопределённое значение)
    • symbol (уникальные идентификаторы)

Объекты:

    • Это более сложные структуры данных, например массивы или функции.
let name = "Анна"; // string
let age = 25; // number
let isStudent = true; // boolean
let emptyValue = null; // null
let notDefined; // undefined

💡 Совет: Всегда проверяй, какой тип данных у переменной, используя typeof:

console.log(typeof age); // "number"

1.2 Операторы и выражения

Что такое операторы? 🛠

Операторы помогают выполнять действия над переменными и значениями. Например, сложение двух чисел или сравнение значений.

Основные операторы JavaScript:

Арифметические операторы:

    • + (сложение)
    • - (вычитание)
    • * (умножение)
    • / (деление)
    • % (остаток от деления)
let a = 10;
let b = 3;
console.log(a + b); // 13
console.log(a % b); // 1 (остаток от деления)

Операторы сравнения:

    • == (равно, с приведением типов)
    • === (строгое равенство, без приведения типов)
    • != (не равно)
    • <, >, <=, >= (меньше, больше, меньше или равно, больше или равно)
let x = 5;
console.log(x == "5"); // true (приведение типов)
console.log(x === "5"); // false (строгое сравнение)

Логические операторы:

    • && (и)
    • || (или)
    • ! (не)
let isAdult = true;
let hasID = false;
console.log(isAdult && hasID); // false (оба должны быть true)
console.log(isAdult || hasID); // true (хотя бы одно true)

1.3 Условные конструкции (if, switch)

Условные конструкции позволяют выполнять код только при выполнении определённых условий.

if и else

let age = 18;
if (age >= 18) {
  console.log("Вам можно войти.");
} else {
  console.log("Извините, вход запрещён.");
}

switch

Подходит для проверки множества значений:

let color = "красный";
switch (color) {
  case "красный":
    console.log("Стоп!");
    break;
  case "зелёный":
    console.log("Иди.");
    break;
  default:
    console.log("Цвет неизвестен.");
}

1.4 Циклы (for, while, do...while)

Циклы помогают выполнять повторяющиеся действия.

for

Используется, если известно, сколько раз выполнять код:

for (let i = 0; i < 5; i++) {
  console.log(i); // Выводит числа от 0 до 4
}

while

Работает, пока условие истинно:

let i = 0;
while (i < 5) {
  console.log(i);
  i++;
}

do...while

Код выполнится хотя бы один раз, даже если условие ложное:

let i = 5;
do {
  console.log(i);
  i++;
} while (i < 5);

1.5. Работа с интерфейсом: alert, prompt, confirm

Эти методы используются для взаимодействия с пользователем:

  • alert: выводит сообщение пользователю.
alert("Привет, мир!");
  • prompt: запрашивает у пользователя данные и возвращает введённое значение.
let name = prompt("Как вас зовут?");
alert(`Привет, ${name}!`);
  • confirm: запрашивает подтверждение действия ("ОК" или "Отмена").
let isConfirmed = confirm("Вы уверены?");
if (isConfirmed) {
    alert("Действие подтверждено");
} else {
    alert("Действие отменено");
}