Комментарии 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, а ещё рассказать, что есть нюанс с фреймами
Ждем миллион статей на темы по типу: "Сравнение оператора = и оператора ||".
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Сравнение JavaScript операторов typeof и insanceof