Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Задачи

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

Назад
Вопрос про JavaScript: typeof, instanceof, Promise, type checking

Как с помощью typeof или instanceof определить, что значение является Promise, а не строкой?

Проверяет умение различать Promise и строку с помощью typeof и instanceof в JavaScript.

Короткий ответ

typeof вернет 'object' для Promise и 'string' для строки. instanceof Promise вернет true для Promise и false для строки. Используйте оба оператора для надежной проверки.

Длинный ответ

Определение типа значения: Promise vs строка

В JavaScript для проверки типа значения используются операторы typeof и instanceof. Они помогают отличить Promise от строки, что важно при работе с асинхронным кодом, например, при обработке ответов API или валидации данных.

Использование typeof

Оператор typeof возвращает строку с типом данных. Для строки это 'string', а для Promise — 'object', так как Promise является объектом. Пример:

const promise = new Promise(resolve => resolve('done'));
const str = 'hello';
console.log(typeof promise); // 'object'
console.log(typeof str);      // 'string'

Использование instanceof

Оператор instanceof проверяет, принадлежит ли объект к определенному классу. Promise — это встроенный класс, поэтому promise instanceof Promise вернет true, а для строки — false:

console.log(promise instanceof Promise); // true
console.log(str instanceof Promise);     // false

Комбинированный подход

Для надежной проверки можно использовать оба оператора. Сначала typeof отсеивает примитивы, затем instanceof подтверждает, что это Promise:

function isPromise(value) {
  return typeof value === 'object' && value instanceof Promise;
}
console.log(isPromise(promise)); // true
console.log(isPromise(str));     // false

Вывод

Используйте typeof для быстрой проверки на строку, а instanceof для точного определения Promise. Комбинация этих методов полезна при написании универсальных функций, работающих с разными типами данных.

Frontend developer

tech
tech
tech
tech
tech
tech
tech
tech
tech

Ментор по Frontend

Полное сопровождение до оффера — без дорогих курсов, с оплатой после трудоустройства

Записаться на консультацию

Уровень

  • Рейтинг:

    4

  • Сложность:

    2

Навыки

  • JavaScript

    JavaScript

Ключевые слова

#typeof

#instanceof

#Promise

#type checking

Подпишись на React Developer в телеграм

Frontend developer

tech
tech
tech
tech
tech
tech
tech
tech
tech

Ментор по Frontend

Полное сопровождение до оффера — без дорогих курсов, с оплатой после трудоустройства

Записаться на консультацию