Перейти к содержимому
На этой странице

Работа с объектами

Все темы React Developer

Почему obj.someprop.x приводит к ошибке?

obj.someprop.x приводит к ошибке, если someprop не существует или имеет значение undefined или null.

Основные причины:

  1. someprop не существует:

    • Если someprop не определен в obj, попытка доступа к someprop.x вызовет ошибку.

    • Пример:

      let obj = {};
      console.log(obj.someprop.x); // Ошибка: Cannot read property 'x' of undefined
  2. someprop равен undefined или null:

    • Если someprop существует, но имеет значение undefined или null, попытка доступа к someprop.x вызовет ошибку.

    • Пример:

      let obj = { someprop: null };
      console.log(obj.someprop.x); // Ошибка: Cannot read property 'x' of null

Решение:

Используйте оператор опциональной цепочки ?. для безопасного доступа к вложенным свойствам.

let obj = {};
console.log(obj.someprop?.x); // undefined, ошибки нет

Что такое прототип объекта?

Прототип объекта — это объект, от которого другие объекты наследуют свойства и методы.

Основные характеристики:

  1. Наследование:

    • Объекты могут наследовать свойства и методы от своего прототипа.

    • Пример:

      let obj = {};
      console.log(obj.toString()); // Метод toString() унаследован от Object.prototype
  2. Цепочка прототипов:

    • Объекты могут образовывать цепочки прототипов (prototype chain), что позволяет наследовать свойства и методы по цепочке.

    • Пример:

      function Person(name) {
          this.name = name;
      }
      
      Person.prototype.greet = function() {
          console.log("Hello, " + this.name);
      };
      
      let person = new Person("Alice");
      person.greet(); // "Hello, Alice" - метод greet() унаследован от Person.prototype

Прототип объекта позволяет наследовать свойства и методы, образуя цепочку прототипов для реализации наследования в JavaScript.

Собеседования: React

Смотри записи интервью, узнай, какие вопросы задают и как отвечают кандидаты.

Вопросы и ответы

Не нашли ответ? Напишите мне в чат. Я делаю Шпаргалку и сам отвечаю на сообщения. Расскажите, что не работает или чего вам не хватает. Может, смогу сразу взять это в работу.

Откуда взяты вопросы?

Из реальных собеседований. Основой подборки стал опыт Вадима Новосёлова: он проходил интервью и записывал вопросы. Подробнее о материалах.

Насколько эти вопросы актуальны?

Эти вопросы встречались нам на реальных собеседованиях в 2025 году. Мы регулярно проходим собеседования и пополняем подборку новыми вопросами. Основы профессии и ключевые технологии остаются востребованными годами, а детали конкретных инструментов и версий стоит сверять с текущей документацией.

На какой уровень рассчитана подборка?

Мы проходили собеседования на вакансии уровня Middle+, а иногда и на Senior-позиции. Вопросы из этих интервью вошли в подборку. Направления работы: React-разработчик, Frontend-разработчик. Глубина обсуждения зависит от вакансии: будь готов объяснить основную идею, привести практический пример и разобрать ограничения и альтернативы решения.

Этот вопрос точно будет на моём собеседовании?

Гарантии нет: набор вопросов зависит от компании, задач команды, уровня вакансии и самого интервьюера. Эти вопросы уже встречались на реальных собеседованиях, но на твоём интервью ту же тему могут проверить другой формулировкой, практической задачей или обсуждением твоего опыта. Используй подборку, чтобы разобраться в теме: объясняй идею своими словами, приводи примеры и готовься обсудить ограничения и альтернативы решения. Так будет проще ответить и на знакомый вопрос, и на неожиданные уточнения.