Особенность работы join в JavaScript

При работе с массивом в JavaScript мне пришлось столкнуться с неожиданным поведением работы метода join(). Неожиданным оно является из-за того, что в книгах, которые я читал по JavaScript, не было сказано о том, как JavaScript выводит массивы. Вернее что произойдет, если попытаться вывести в цикле for разряженный массив (индексация массива не является непрерывной). И только после того когда я увидел что произойдет сам, я начал находить примечания в документациях. Все дело в том, что в JavaScript вывод массива идёт от 0 до arr.length. Т.е. нет проверки на его разреженность как например в PHP. И вот сейчас, когда мы знаем об этой особенности вывода массивов, мы можем провести тест с методом join().

В документации по языку программирования JavaScript сказано, что метод join() объединяет все элементы массива (или массивоподобного объекта) в строку: Читать далее