Як використовувати оператор typeof у JavaScript
Оператор typeof
у JavaScript є одним з найбільш корисних інструментів для визначення типу змінної. Незважаючи на свою простоту, він має деякі особливості, які варто знати, щоб ефективно його використовувати. У цій статті ми розглянемо, що таке оператор typeof
, як його правильно застосовувати, та які підводні камені можуть виникнути при його використанні.
1. Що таке оператор typeof? 🤔
Оператор typeof
є унітарним оператором, що повертає рядок, який вказує на тип зазначеної змінної. Ось простий приклад його використання:
let age = 25;console.log(typeof age); // "number"
Цей оператор повертає один з наступних рядків:
"undefined"
"boolean"
"number"
"string"
"object"
"function"
"symbol"
"bigint"
2. Основні приклади використання typeof 📚
Оператор typeof
може бути використаний для перевірки типів різних значень. Ось кілька прикладів:
console.log(typeof undefined); // "undefined"console.log(typeof true); // "boolean"console.log(typeof 42); // "number"console.log(typeof "Hello"); // "string"console.log(typeof {}); // "object"console.log(typeof []); // "object"console.log(typeof null); // "object"console.log(typeof function(){}); // "function"console.log(typeof Symbol()); // "symbol"console.log(typeof 10n); // "bigint"
3. Особливості та підводні камені 🪨
Оператор typeof
має деякі особливості, про які важливо знати:
- Тип
array
повертає"object"
, тому що масиви є об’єктами в JavaScript. - Тип
null
також повертає"object"
. Це є відомою помилкою, яка залишилася з перших версій JavaScript. - Функції повертають
"function"
, що дозволяє легко їх відрізнити від інших об’єктів.
4. Визначення типів змінних: таблиця 📝
Значення | Оператор typeof |
---|---|
undefined | "undefined" |
true або false | "boolean" |
42 | "number" |
"Hello" | "string" |
{} | "object" |
[] | "object" |
null | "object" |
function() {} | "function" |
Symbol() | "symbol" |
10n | "bigint" |
5. Типи даних у JavaScript і typeof 📊
Давайте детальніше розглянемо основні типи даних у JavaScript і те, як typeof
допомагає їх визначати:
- Undefined: Тип змінної, яка була оголошена, але не має значення.
- Boolean: Логічний тип, який може бути
true
абоfalse
. - Number: Числовий тип, який включає як цілі, так і дробові числа.
- String: Текстовий тип, що складається з одного або більше символів.
- Object: Тип даних для об’єктів, включаючи масиви та дати.
- Function: Спеціальний об’єкт, який можна викликати.
- Symbol: Унікальний та незмінний тип даних, часто використовуваний як ідентифікатор властивостей об’єктів.
- BigInt: Тип даних для представлення цілих чисел довільної точності.
6. Використання typeof з різними типами даних 🛠️
Розглянемо кілька прикладів, як оператор typeof
використовується з різними типами даних:
// Визначення типу числаlet number = 123;console.log(typeof number); // "number"// Визначення типу рядкаlet string = "Hello, world!";console.log(typeof string); // "string"// Визначення типу масивуlet array = [1, 2, 3];console.log(typeof array); // "object"// Визначення типу об'єктаlet object = { name: "Alice", age: 30 };console.log(typeof object); // "object"// Визначення типу функціїlet func = function() {};console.log(typeof func); // "function"// Визначення типу символуlet symbol = Symbol();console.log(typeof symbol); // "symbol"// Визначення типу BigIntlet bigInt = 10n;console.log(typeof bigInt); // "bigint"
7. Підводні камені використання typeof 🪜
Як ми вже згадували, оператор typeof
має кілька підводних каменів. Наприклад:
- Null: Незважаючи на те, що
null
є окремим типом,typeof null
повертає"object"
. - Array: Масиви в JavaScript є об’єктами, тому
typeof []
повертає"object"
. - Неініціалізовані змінні: Якщо змінна не була ініціалізована,
typeof
повертає"undefined"
.
8. Використання typeof для перевірки типу даних у функціях 🛡️
Оператор typeof
часто використовується для перевірки типів аргументів у функціях. Це дозволяє створювати більш надійний код. Розглянемо приклад:
function printAge(age) { if (typeof age !== 'number') { console.error('age повинно бути числом'); return; } console.log('Вік:', age);}printAge(25); // Вік: 25printAge('25'); // age повинно бути числом
9. Використання typeof з let, const і var 📝
Варто зазначити, що оператор typeof
може бути застосований до змінних, оголошених за допомогою let
, const
та var
. Наприклад:
let x = 5;const y = 'hello';var z = true;console.log(typeof x); // "number"console.log(typeof y); // "string"console.log(typeof z); // "boolean"
10. Висновок 🎯
Оператор typeof
у JavaScript є потужним інструментом для визначення типів змінних. Розуміння його роботи та особливостей допоможе вам писати більш надійний і зрозумілий код. Не забувайте про його підводні камені та використовуйте typeof
для перевірки типів даних у ваших функціях. Завдяки цій статті ви дізналися, як правильно застосовувати оператор typeof
і на що звертати увагу при роботі з ним.
Корисні поради 🛠️
- Використовуйте
typeof
для перевірки типів аргументів у функціях. - Пам’ятайте, що
typeof null
повертає"object"
. - Для перевірки масивів використовуйте
Array.isArray()
, а неtypeof
.
Часті запитання ❓
- Що повертає
typeof
дляnull
?
Операторtypeof
дляnull
повертає"object"
. - Як перевірити, чи змінна є масивом?
Для перевірки масивів використовуйтеArray.isArray()
. - Що повертає
typeof
для функцій?
Операторtypeof
для функцій повертає"function"
.