Поскольку преобразование массива в строку вызовет .toString
, что в основном совпадает с вызовом .join()
, который вызовет .toString
для всех элементов в массиве, а затем удалит результат с запятой.Поэтому массивы рекурсивно соединяются со строкой, результат выглядит сглаженным, так как нет никакого индикатора для начала или конца массива.Вот пошаговое преобразование:
[[1, 2, 3], [1, 2, 3]].toString()
[1, 2, 3].toString() + "," + [1, 2, 3].toString()
(1 + "," + 2 + "," + 3) + "," + (1 + "," + 2 + "," + 3)
"1,2,3" + "1,2,3"
"1,2,3,1,2,3"