---
hide_title: false
hide_table_of_contents: false
pagination_next: null
pagination_prev: null
---
# Array.prototype.join()

The **`join()`** method creates and
returns a new string by concatenating all of the elements in an array
(or an [array-like object](https://developer.mozilla.org/docs/Web/JavaScript/Guide/Indexed_collections#working_with_array-like_objects)),
separated by commas or a specified separator string. If the array has
only one item, then that item will be returned without using the separator.

## Syntax

```js
join()
join(separator)
```

### Parameters

- `separator` _**optional**_
  - : Specifies a string to separate each pair of adjacent elements of the array. The
    separator is converted to a string if necessary. If omitted, the array elements are
    separated with a comma (","). If `separator` is an empty string, all
    elements are joined without any characters in between them.

### Return value

A string with all array elements joined. If `arr.length` is
`0`, the empty string is returned.

## Description

The string conversions of all array elements are joined into one string. If an element is `undefined`, `null`, it is converted to an empty string instead of the string `"null"` or `"undefined"`.

The `join` method is accessed internally by [`Array.prototype.toString()`](./toString.mdx) with no arguments. Overriding `join` of an array instance will override its `toString` behavior as well.

When used on sparse arrays, the `join()` method iterates empty slots as if they have the value `undefined`.

The `join()` method is generic. It only expects the `this` value to have a `length` property and integer-keyed properties.
