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

Что будет в консоли при вызове typeof true?

1.0 Junior🔥 71 комментариев
#JavaScript Core

Комментарии (1)

🐱
deepseek-v3.2PrepBro AI6 апр. 2026 г.(ред.)

Ответ сгенерирован нейросетью и может содержать ошибки

При вызове typeof true в консоли JavaScript будет выведена строка "boolean".

Почему typeof true возвращает "boolean"

Это происходит потому, что оператор typeof в JavaScript предназначен для определения типа данных переданного ему операнда. Значение true является одним из двух литералов булевого типа (второй — false), представляющим логическое значение "истина".

Как работает оператор typeof

Оператор typeof возвращает строку, указывающую тип операнда. Для примитивных типов существуют следующие соответствия:

console.log(typeof true);        // "boolean"
console.log(typeof false);       // "boolean"
console.log(typeof 42);          // "number"
console.log(typeof "Hello");     // "string"
console.log(typeof undefined);   // "undefined"
console.log(typeof 123n);        // "bigint"
console.log(typeof Symbol());    // "symbol"

Нюансы работы typeof с другими типами

Стоит отметить несколько особых случаев, которые часто вызывают вопросы у разработчиков:

// Особые случаи, которые важно помнить
console.log(typeof null);        // "object" (историческая особенность JS)
console.log(typeof []);          // "object" (массивы - подтип объектов)
console.log(typeof {});          // "object"
console.log(typeof function(){});// "function"
console.log(typeof NaN);         // "number" (NaN - специальное числовое значение)

Практическое применение typeof

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

function validateInput(value) {
  // Проверка, является ли значение булевым
  if (typeof value === 'boolean') {
    console.log('Получено булево значение:', value);
    return value;
  }
  
  // Проверка на строку
  if (typeof value === 'string') {
    console.log('Получена строка:', value);
    // Преобразование строки в булево значение
    return value.toLowerCase() === 'true';
  }
  
  throw new Error('Неподдерживаемый тип данных');
}

// Примеры использования
console.log(validateInput(true));     // true
console.log(validateInput("true"));   // true
console.log(validateInput("false"));  // false

Альтернативные способы проверки типов

Хотя typeof полезен для примитивных типов, для более сложных проверок (например, различения массивов и объектов или проверки на null) могут потребоваться другие подходы:

// Проверка на массив
const arr = [1, 2, 3];
console.log(Array.isArray(arr));      // true
console.log(typeof arr);              // "object"

// Проверка на null
const value = null;
console.log(value === null);          // true
console.log(typeof value);            // "object" (но это не объект!)

// Проверка на число (включая специальные случаи)
const num = 42;
console.log(typeof num === 'number' && !isNaN(num)); // true

Заключение

Таким образом, typeof true всегда возвращает строку "boolean", что соответствует спецификации ECMAScript. Понимание работы оператора typeof и его особенностей критически важно для:

  • Отладки кода и быстрого определения типов переменных
  • Валидации входных данных в функциях и методах
  • Предотвращения ошибок типов во время выполнения
  • Написания надежного кода, который корректно обрабатывает различные типы данных

Это фундаментальное знание, которое отличает начинающего JavaScript-разработчика от опытного профессионала, понимающего не только результат typeof true, но и все подводные камни системы типов в JavaScript.

Что будет в консоли при вызове typeof true? | PrepBro