Як використовувати оператор 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.

Часті запитання ❓

  1. Що повертає typeof для null?
    Оператор typeof для null повертає "object".
  2. Як перевірити, чи змінна є масивом?
    Для перевірки масивів використовуйте Array.isArray().
  3. Що повертає typeof для функцій?
    Оператор typeof для функцій повертає "function".

Від admin