Почему переменная const возвращает undefined при попытке присвоить элемент в консоли Chrome? (JavaScript)

Я столкнулся с проблемой в консоли Chrome. Когда я ввожу следующую команду:

document.getElementById('formatstring_widget_formatstring_14');

Консоль возвращает:

<div data-mendix-id="51_37_138" class="mx-name-formatString1 mx-link submenu-item page-nav-9" tabindex="0" id="formatstring_widget_formatstring_14" focusindex="0" widgetid="formatstring_widget_formatstring_14" style>…</div>

Но как только я пытаюсь сохранить это значение в переменной, получаю undefined:

const parent = document.getElementById('formatstring_widget_formatstring_14');
// undefined

Почему так происходит? Элемент существует, и он доступен, но при присвоении в константу результат оказывается undefined. Это особенность консоли Chrome или я что-то делаю не так? Как можно исправить это?

Это нормально. Когда объявляешь переменную через const, консоль показывает undefined — это результат самой операции, а не значение переменной. Просто напиши parent после объявления или сразу console.log(parent) — увидишь, что элемент на месте. Не баг, REPL браузера так работает.

Это нормальное поведение консоли! Когда вызываешь document.getElementById(), консоль показывает результат выполнения. А когда присваиваешь значение переменной через const parent = ..., консоль выводит результат выражения присваивания - всегда undefined. Переменная parent при этом содержит твой элемент. Попробуй после создания переменной ввести parent в консоль - увидишь элемент. Это особенность консоли, не проблема с кодом.

Да, это фишка консоли — она показывает результат выражения. Объявление переменной не возвращает значение, отсюда undefined. Твой элемент нормально записался в parent, просто проверь — введи имя переменной отдельно. Кстати, почему const выбрал? Планируешь что-то делать с элементом дальше?