Встречается на собеседованиях • сегодня

У каких сущностей нет __proto__

У примитивов (строки, числа, булевы значения, null, undefined, Symbol, BigInt) нет свойства __proto__. Они не являются объектами, поэтому у них нет прототипной цепочки. Однако при обращении к их методам (например, 'str'.toUpperCase()) JS временно оборачивает их в объекты-обёртки.

Пример:

javascript
const num = 42;
console.log(num.__proto__); // undefined (но на самом деле будет Number.prototype)

const str = 'hello';
console.log(str.__proto__); // undefined (но на самом деле будет String.prototype)

const nothing = null;
console.log(nothing.__proto__); // TypeError

Примечание: хотя у примитивов нет __proto__, их методы доступны через соответствующие прототипы (Number.prototype, String.prototype и т.д.), к которым JS обращается автоматически.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы