Початківець
+20 XP

👋 Починай вчитися JavaScript прямо зараз — безкоштовно!

📖

7 типів JavaScript

Зрозумій яка буває інформація в JS і як її розрізняти

🗂️

Типи — це різні полиці в шафі

Уяви шафу з підписаними полицями: на одній — числа, на іншій — текст, на третій — лампочки вкл/викл. JavaScript теж поділяє інформацію на категорії — типи. Знаючи тип, комп'ютер розуміє що з ним можна робити: числа можна складати, текст — з'єднувати, boolean — перевіряти.

7 типів JavaScript

В JavaScript є 7 типів — 6 примітивних і 1 складний:

ТипПрикладКоли використовують
string"Привіт", 'JS'Текст, імена, повідомлення
number42, 3.14, -7Числа, ціни, координати
booleantrue, falseТак/Ні, вкл/викл, умови
undefinedundefinedЗмінна оголошена, але не має значення
nullnullНавмисно порожнє значення
symbolSymbol('id')Унікальні ключі (просунутий рівень)
bigint9007199254740993nДуже великі числа
object{}, [], nullСкладні структури (наступний урок!)

Перші 6 — примітиви (прості значення). object — складний тип.

Оператор typeof

typeof повертає назву типу як рядок:

js
typeof "Привіт"   // "string"
typeof 42          // "number"
typeof 3.14        // "number"  — дробові теж number!
typeof true        // "boolean"
typeof undefined   // "undefined"
typeof null        // "object"  ← ПАС ТКА! (пояснимо в наступному уроці)
typeof {}          // "object"
typeof []          // "object"  ← масиви теж object!
typeof function(){} // "function"

Важливо: typeof повертає рядок у лапках — тобто "number", "string", а не просто number.

Рядки (string) — детальніше

js
let name = "Марія";       // подвійні лапки
let city = 'Харків';       // одинарні (однаково)
let greeting = `Привіт, ${name}!`; // шаблонний рядок — вставляє змінну

console.log(greeting);     // Привіт, Марія!

// Довжина рядка
console.log(name.length);  // 5

// Конкатенація (з'єднання)
let full = "Іван" + " " + "Коваль"; // "Іван Коваль"

Шаблонні рядки (backtick `) — найзручніший спосіб вставити змінну в текст.

Числа — NaN і Infinity

js
console.log(10 / 0);         // Infinity (не помилка!)
console.log(-10 / 0);        // -Infinity
console.log("привіт" * 2);   // NaN — Not a Number

// NaN — це число типу, але "не число" за значенням
console.log(typeof NaN);     // "number" ← так, NaN це number!

// Перетворення рядка в число
console.log(parseInt("42px"));   // 42 — бере число з початку
console.log(parseFloat("3.14")); // 3.14
console.log(Number("42"));       // 42
console.log(Number("привіт"));   // NaN

Перевірка NaN: isNaN(value) або Number.isNaN(value). Не можна порівняти value === NaN — завжди false!

Boolean — правдиві і хибні значення (Truthy/Falsy)

В JavaScript кожне значення автоматично є або "правдивим" (truthy) або "хибним" (falsy) при перевірці в умові:

Хибні (falsy) — рівно 7 значень:

js
false
0
-0
0n        // BigInt нуль
""        // порожній рядок
null
undefined
NaN

Правдиві (truthy) — ВСЕ решта, включно з:

js
true
1
-1
"0"       // рядок '0' — правдивий!
"false"   // рядок 'false' — правдивий!
[]        // порожній масив — правдивий!
{}        // порожній об'єкт — правдивий!

Це важливо для if-умов: if (value) — перевіряє чи значення truthy.

javascript
💬

Пастка з порожнім масивом — дуже поширена помилка. [] truthy, але 'порожній'. Перевіряй .length!

null проти undefined

Обидва означають «нічого немає», але з різними намірами:

js
let a;                    // undefined — не задане значення
console.log(a);           // undefined

let b = null;             // null — навмисно ПОРОЖНЬО
console.log(b);           // null

console.log(typeof a);    // "undefined"
console.log(typeof b);    // "object" ← сюрприз!

Правило:

  • undefined — змінна є, але значення не присвоєне (JS сам ставить)
  • null — ти сам навмисно кажеш «тут нічого немає»

Наприклад: let user = null; — користувач ще не завантажений.

Запам'ятай: typeof повертає РЯДОК. Тому перевіряй так: typeof x === "number" (з лапками). А typeof null === "object" — це баг JS від 1995 року, ніколи не виправлений щоб не зламати старий код.

Коментарі

Увійти або Почати щоб залишити коментар.