Проверяет умение различать Promise и строку с помощью typeof и instanceof в JavaScript.
В JavaScript для проверки типа значения используются операторы typeof и instanceof. Они помогают отличить Promise от строки, что важно при работе с асинхронным кодом, например, при обработке ответов API или валидации данных.
Оператор 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 проверяет, принадлежит ли объект к определенному классу. 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
Ментор по Frontend
Полное сопровождение до оффера — без дорогих курсов, с оплатой после трудоустройства
Записаться на консультацию