Ваша структура данных содержит несколько ссылок на один и тот же объект.console.log
достаточно умен, чтобы сокращать вывод.
Обратите внимание, что (AFAIK) спецификация не гарантирует какого-либо конкретного вывода из console.log
для объектов, которые не являются экземплярами String
, поэтому вы не можетеполагаться на то, что эти выходные данные одинаковы для всех браузеров, версий, фаз Луны и т. д.
Рассмотрим бесконечно рекурсивную структуру данных, например const a = []; a.push(a); console.log(a)
, которую вы бы предпочли: блокировать компьютер во время печатибесконечно рекурсивный массив или console.log
его сокращение?
const a = []
a.push(a)
console.log(a)
// [
// /**id:1**/
// /**ref:1**/
// ]