JavaScript: Типы данных.

JavaScript — это такой весёлый язык, который позволяет писать код так, что сам потом удивляешься, как он вообще работает. Сегодня мы разберём основные типы данных в JavaScript, но не просто сухой теорией, а с хорошей порцией юмора и примерами!

Числа (Number) – когда нужно посчитать чаевые, но округление работает против вас

В JavaScript числа бывают целыми и с плавающей запятой. Это удобно, но вот как оно работает…

let a = 0.1 + 0.2;
console.log(a); // Ожидаем 0.3, но JavaScript говорит 0.30000000000000004

Вот вам и арифметика! Так что если вдруг не сходится баланс в банке — возможно, их система написана на JavaScript. Если нужна точность, используйте toFixed() или BigInt.

let big = 1234567890123456789012345678901234567890n;
console.log(big); // 1234567890123456789012345678901234567890n

Да, число n в конце — это не опечатка, а BigInt. Работает, как надо, но не совместимо с обычными Number.

Строки (String) – когда JSON парсится, а шутки не заходят

Строки — это то, что мы используем, чтобы передавать текст. Например:

let greeting = "Привет, мир!";
let anotherGreeting = 'Hello, world!';
let yetAnother = `Эй, это JavaScript!`;

Можно использовать двойные, одинарные и шаблонные кавычки. Но самое весёлое начинается, когда нужно вставить переменные:

let name = "Вася";
console.log(`Привет, ${name}!`); // Привет, Вася!

А ещё строки можно складывать, как школьные тетради:

let part1 = "Я люблю";
let part2 = " JavaScript";
console.log(part1 + part2); // "Я люблю JavaScript"

Но если в этом деле участвуют числа, может случиться неожиданность:

console.log("2" + 2); // "22" — JavaScript решил, что это строки
console.log(2 + "2"); // "22" — опять строки!
console.log(2 + 2 + "2"); // "42" — классика

JS любит строки больше, чем числа, и если видит хоть одну строку, всё превращает в текст. Вот такая дружелюбность!

Булевы значения (Boolean) – когда true это false, а false это true (почти)

Boolean — это всего два значения: true (истина) и false (ложь). Казалось бы, ничего сложного, но JavaScript умеет превращать всё в булево значение.

console.log(Boolean(0)); // false
console.log(Boolean("")); // false
console.log(Boolean("false")); // true (потому что строка не пустая!)
console.log(Boolean([])); // true (потому что массив!)
console.log(Boolean({})); // true (потому что объект!)

Внимательно проверяйте условия, потому что "0" и [] могут дать неожиданные результаты!

Объекты (Object) – когда можно хранить всё подряд в одной коробке

Объекты — это такие контейнеры для данных, где можно хранить что угодно:

let user = {
  name: "Иван",
  age: 25,
  isAdmin: true
};

console.log(user.name); // Иван
console.log(user["age"]); // 25

Можно добавлять и удалять свойства на лету:

user.city = "Москва";
delete user.age;
console.log(user); // { name: "Иван", isAdmin: true, city: "Москва" }

Если нужно передавать данные между системами, пригодится JSON:

let json = JSON.stringify(user);
console.log(json); // "{\"name\":\"Иван\",\"isAdmin\":true,\"city\":\"Москва\"}"

А чтобы обратно из строки сделать объект:

let newUser = JSON.parse(json);
console.log(newUser.name); // Иван

Массивы (Array) – когда список дел превращается в хаос

Массив — это объект, но особенный, с нумерованными элементами.

let fruits = ["Яблоко", "Банан", "Вишня"];
console.log(fruits[1]); // Банан

Добавить элемент:

fruits.push("Груша");
console.log(fruits); // ["Яблоко", "Банан", "Вишня", "Груша"]

Удалить последний:

fruits.pop();
console.log(fruits); // ["Яблоко", "Банан", "Вишня"]

Перебрать массив:

fruits.forEach((fruit, index) => {
  console.log(`${index + 1}: ${fruit}`);
});

Массивы могут хранить что угодно:

let mix = [42, "Привет", { name: "Объект" }, [1, 2, 3]];
console.log(mix[2].name); // Объект

Итог

JavaScript — это весело, но иногда непредсказуемо. Числа могут округляться неожиданно, строки превращаться в числа (и наоборот), булевы значения — вести себя странно, объекты — быть всем подряд, а массивы — хранить всё на свете. Но если понимать, как это работает, можно писать крутой код и получать удовольствие!

Оставьте комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Сайт создал Романенко Артем