← Назад ко всем вопросам

Какой тип данных возвращает typeof

1️⃣ Как кратко ответить

typeof возвращает строку, описывающую тип переданного значения. Возможные значения: "undefined", "object", "boolean", "number", "string", "function", "symbol", "bigint".

2️⃣ Подробное объяснение темы

typeof — это оператор в JavaScript, который используется для определения типа данных переменной или значения. Он возвращает строку, которая описывает тип переданного значения. Это полезно для проверки типов данных в коде, особенно в динамически типизированных языках, таких как JavaScript.

Возможные возвращаемые значения

  1. "undefined": Возвращается, если переменная была объявлена, но ей не было присвоено значение.

    let a;
    console.log(typeof a); // "undefined"
    

    Здесь переменная a объявлена, но не инициализирована, поэтому typeof a возвращает "undefined".

  2. "object": Возвращается для объектов, массивов и null.

    let obj = {};
    console.log(typeof obj); // "object"
    ​
    let arr = [];
    console.log(typeof arr); // "object"
    ​
    let n = null;
    console.log(typeof n); // "object"
    

    Обратите внимание, что typeof null возвращает "object", что является исторической особенностью JavaScript.

  3. "boolean": Возвращается для булевых значений true и false.

    let isTrue = true;
    console.log(typeof isTrue); // "boolean"
    

    Здесь isTrue — это булевая переменная, поэтому typeof isTrue возвращает "boolean".

  4. "number": Возвращается для чисел, включая NaN и Infinity.

    let num = 42;
    console.log(typeof num); // "number"
    ​
    let notANumber = NaN;
    console.log(typeof notANumber); // "number"
    

    NaN и Infinity также считаются числами в JavaScript.

  5. "string": Возвращается для строковых значений.

    let str = "Hello, world!";
    console.log(typeof str); // "string"
    

    Здесь str — это строка, поэтому typeof str возвращает "string".

  6. "function": Возвращается для функций.

    function myFunction() {}
    console.log(typeof myFunction); // "function"
    

    Функции в JavaScript имеют свой собственный тип "function".

  7. "symbol": Возвращается для символов, введенных в ECMAScript 6.

    let sym = Symbol();
    console.log(typeof sym); // "symbol"
    

    Символы — это уникальные и неизменяемые примитивные значения, используемые как уникальные идентификаторы.

  8. "bigint": Возвращается для больших целых чисел, введенных в ECMAScript 2020.

    let bigInt = 1234567890123456789012345678901234567890n;
    console.log(typeof bigInt); // "bigint"
    

    BigInt позволяет работать с числами, превышающими пределы обычного типа number.

Применение

Оператор typeof часто используется для проверки типов данных перед выполнением операций, которые зависят от типа. Это помогает избежать ошибок, связанных с неправильным использованием типов данных.

Пример использования

function processValue(value) {
  if (typeof value === "number") {
    return value * 2;
  } else if (typeof value === "string") {
    return value.toUpperCase();
  } else {
    return "Unsupported type";
  }
}
​
console.log(processValue(10)); // 20
console.log(processValue("hello")); // "HELLO"
console.log(processValue(true)); // "Unsupported type"

В этом примере функция processValue обрабатывает входное значение в зависимости от его типа. Если это число, оно удваивается. Если это строка, она преобразуется в верхний регистр. Для всех других типов возвращается сообщение об ошибке.

Тема: JavaScript
Стадия: Tech

🔒 Подпишись на бусти автора и стань Алигатором, чтобы получить полный доступ к функционалу сайта и отслеживать свой прогресс!

Твои заметки