Как стать автором
Обновить

Комментарии 7

Все объекты являются экземплярами Object в дополнение к тому, что они являются экземплярами конструктора, из которого они созданы.

Ха-ха:


let foo = Object.create(null);
console.log(foo instanceof Object); // false

Я не эксперт, но вроде бы нельзя через instanceof проверять примитивы. А Object.create(null) - создает именно примитив.

Документация честно предупреждает про кейс с null.

Использование с нормальным аргументом даст ожидаемый результат.

let foo = Object.create({});
console.log(foo instanceof Object); // true

Документация-то предупреждает, но это не отменяет того факта что в посте недоговорка.

Стрёмный косноязычный перевод, к тому же сама статья такая себе. Можно было упомянуть про возможность настроить поведение instanceof через Symbol.hasInstance, а ещё рассказать, что есть нюанс с фреймами

Ждем миллион статей на темы по типу: "Сравнение оператора = и оператора ||".

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории