Данные в JS делятся на два вида: примитивы и объекты.
Примитивные типы (7 видов):
// 1. String (строка) - текст
let name = "Иван";
let greeting = 'Привет, мир!';
let template = `Меня зовут ${name}`; // Шаблонная строка
// 2. Number (число) - целые и дробные
let integer = 42;
let float = 3.14;
let negative = -5;
let infinity = Infinity;
// 3. Boolean (логический тип) - true/false
let isOnline = true;
let isCompleted = false;
// 4. Undefined - переменная объявлена, но значение не присвоено
let undefinedVariable;
console.log(undefinedVariable); // undefined
// 5. Null - специальное значение "ничего", "пусто"
let emptyValue = null;
// 6. BigInt - для очень больших чисел
let bigNumber = 123456789012345678901234567890n;
// 7. Symbol - уникальный идентификатор (для продвинутых тем)
let id = Symbol("id");Проверка типа данных:
typeof "Текст"; // "string"
typeof 42; // "number"
typeof true; // "boolean"
typeof undefined; // "undefined"
typeof null; // "object" (историческая особенность JS)
typeof {}; // "object"
typeof []; // "object" (массив - тоже объект)Массивы: списки данных
Массив — это упорядоченная коллекция элементов с числовой нумерацией.
Создание массива:
// Способ 1: Литерал массива (рекомендуется)
let fruits = ["Яблоко", "Банан", "Апельсин"];
// Способ 2: Конструктор Array
let numbers = new Array(1, 2, 3);
// Пустой массив
let emptyArray = [];
// Массив с разными типами данных
let mixed = [1, "Текст", true, {name: "Объект"}, [1, 2, 3]];Работа с массивами:
let colors = ["Красный", "Зеленый", "Синий"];
// Получение элементов (нумерация с 0!)
console.log(colors[0]); // "Красный"
console.log(colors[1]); // "Зеленый"
// Изменение элементов
colors[2] = "Голубой";
// Длина массива
console.log(colors.length); // 3
// Добавление в конец
colors.push("Желтый");
// Удаление с конца
let lastColor = colors.pop();
// Добавление в начало
colors.unshift("Черный");
// Удаление с начала
let firstColor = colors.shift();
// Поиск индекса элемента
let index = colors.indexOf("Зеленый"); // 1Методы массивов (часто используемые):
let numbers = [1, 2, 3, 4, 5];
// forEach - перебор элементов
numbers.forEach(function(number) {
console.log(number * 2);
});
// map - создание нового массива на основе старого
let doubled = numbers.map(function(number) {
return number * 2;
});
// doubled = [2, 4, 6, 8, 10]
// filter - фильтрация элементов
let evenNumbers = numbers.filter(function(number) {
return number % 2 === 0;
});
// evenNumbers = [2, 4]
// find - поиск первого подходящего элемента
let found = numbers.find(function(number) {
return number > 3;
});
// found = 4Многомерные массивы:
let matrix = [ [1, 2, 3], [4, 5, 6], [7, 8, 9] ]; console.log(matrix[1][2]); // 6 (вторая строка, третий элемент)
Объекты: хранение данных в формате «ключ-значение»
Объект — это коллекция данных, где каждое значение имеет имя (ключ).
Создание объекта:
// Способ 1: Литерал объекта (самый частый)
let user = {
name: "Алексей", // ключ: значение
age: 30,
isAdmin: true,
"любимый цвет": "синий" // Ключ с пробелом в кавычках
};
// Способ 2: Конструктор Object (реже)
let car = new Object();
car.brand = "Toyota";
car.model = "Camry";Работа с объектами:
// Получение значений
console.log(user.name); // "Алексей" - точечная нотация
console.log(user["age"]); // 30 - квадратные скобки
console.log(user["любимый цвет"]); // "синий"
// Изменение значений
user.age = 31;
user["isAdmin"] = false;
// Добавление новых свойств
user.city = "Москва";
user["страна"] = "Россия";
// Удаление свойств
delete user.isAdmin;
// Проверка существования свойства
console.log("name" in user); // true
console.log(user.hasOwnProperty("age")); // trueВложенные объекты:
let company = {
name: "TechCorp",
address: {
city: "Санкт-Петербург",
street: "Невский проспект",
building: 15
},
employees: 200
};
console.log(company.address.city); // "Санкт-Петербург"