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

Откуда берутся свойства объекта которые не задаешь

В JavaScript объекты могут иметь свойства, которые не были явно заданы, из нескольких источников:

  1. Прототипное наследование - свойства могут быть унаследованы от прототипа объекта:
js
const parent = { x: 1 };
const child = Object.create(parent);
console.log(child.x); // 1 (наследуется)
  1. Встроенные свойства - например, у массивов есть length, у функций - name:
js
function foo() {}
console.log(foo.name); // "foo"
  1. Геттеры/сеттеры - могут динамически вычислять значения:
js
const obj = {
  get random() { return Math.random(); }
};
console.log(obj.random); // случайное число
  1. Полифиллы/расширения - библиотеки могут добавлять свойства в стандартные объекты.

  2. Свойства DOM - браузер добавляет множество свойств DOM-элементам.

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

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

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

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