Вопрос №72097 от пользователя Nikita в уроке «Вложенные объекты», курс «JS: Объекты»
Здравствуйте, вопросы:
- Если в этом случаи константа 'company' была бы просто константой (а не объект) то ключ 'company' не перенял бы её значение, правильно?
- Как я понимаю присваивая ключу имя в объекте я могу сам того незная задать моему ключу (при объявлении) значение другого глобального объекта в проекте (если до этого был объект с названием 'company')?
Код: const company = { name: 'Hexlet' }; const user = { company };
Добрый день.
- Что значит "просто константой"? Строка? Попробуйте выполнить такой код в консоли в браузере:
const company2 = 'Hexlet'; const user2 = { company };
и посмотреть, что будет находиться в переменнойuser2
. Также можете поэкспериментировать и с другими значениями - Если вы выполните тот код, который привели в вопросе, то вы сначала перезапишете глобальную переменную, а потом поместите новое значение внутрь объекта
user
.
Aleksandr Litvinov, заранее благодарю за терпение, попытаюсь задать как можно конкретно вопрос.
- const company = { name: 'Hexlet' }; const user = { company } - это получается объект в объекте, правильно?
- Задавая ключу в объекте имя, надо проверить, чтобы название не совпадало с другими константами/ массивами/ функциями/ переменными в модуле, в котором я работаю. (Если я хочу чтобы он был только объявлен с новым каким-то свойством) Правильно?
- Можете пожалуйста объяснить, что значит "то вы сначала перезапишите глобальную переменную"?
Верно
Нет, как-то специально проверять нет необходимости. Обычно объекты создаются таким образом:
company = { name: 'Hexlet' }
. Никаких проблем с названиями внутренних ключей при этом не возникает.Прошу прощения, был не прав. Если у вас где-то была определена переменная таким образом:
const company = 'Tesla'
, то на повторное определение такой же переменнойconst company = { name: 'Hexlet' }
появится ошибка и перезаписи первой переменной не случится.
Aleksandr Litvinov, спасибо. У меня был пробел в теории, прочитал ещё раз и понял.
Используйте Хекслет по максимуму!
- Задавайте вопросы по уроку
- Проверяйте знания в квизах
- Проходите практику прямо в браузере
- Отслеживайте свой прогресс
Зарегистрируйтесь или войдите в свой аккаунт
С нуля до разработчика. Возвращаем деньги, если не удалось найти работу.







