Я получил следующий след из консоли разработчика Chrome:
> a = [1]
[1]
> b = [2, a]
[2, Array[1]]
> a.push(b)
2
> a.toString()
"1,2,"
Кажется, что toString()
интеллектуально пропустил рекурсивную часть графа объектов. Это где-то стандартное поведение?