• Skip to main content
  • Skip to search
  • Skip to select language
HTML

Structure of content on the web

  • Web APIs

    Interfaces for building web applications

  • Learn
    • CSS

      Learn to style content using CSS

    • Overview

      A customized MDN experience

    • FAQ

      Frequently asked questions about MDN Plus

  • HTTP Observatory

    Scan a website for free

  • JavaScript
  • Array.prototype.toString()
      • Deutsch
      • Español
      • Français
      • 日本語
      • 한국어
      • Português (do Brasil)
      • Русский
      • 中文 (简体)
      • 正體中文 (繁體)

    In this article

    • Try it
    • Syntax
    • Description
    • Examples
    • Specifications
    • Browser compatibility
    • See also
    1. Array.from()
    2. Array[Symbol.species]
  • Instance methods
    1. Array.prototype.entries()
    2. Array.prototype.find()
    3. Array.prototype.flat()
    4. Array.prototype.indexOf()
    5. Array.prototype.map()
    6. Array.prototype.reduceRight()
    7. Array.prototype.some()
    8. Array.prototype.toReversed()
    9. Array.prototype.unshift()
    10. Array: length
    11. Function.prototype.bind()
    12. Function: displayName Non-standard
    13. Function.prototype.arguments Non-standard Deprecated
    14. Function.prototype.caller Non-standard Deprecated
  • Instance methods
    1. Object.prototype.__defineGetter__() Deprecated
    2. Object.prototype.__defineSetter__() Deprecated
    3. Object.prototype.__lookupGetter__() Deprecated
    4. Object.prototype.__lookupSetter__() Deprecated
    5. Object.prototype.toLocaleString()
    6. Object.prototype.__proto__ Deprecated
    7. Array instances returns a string representing the specified array and its elements.

  • Try it

    const array1 = [1, 2, "a", "1a"];
    
    console.log(array1.toString());
    / Expected output: "1,2,a,1a"
    

    Syntax

    js
    toString()
    

    Parameters

    None.

    Return value

    A string representing the elements of the array.

    Description

    The Object.prototype.toString is used instead, returning [object Array].

    js
    const arr = [];
    arr.join = 1; / re-assign `join` with a non-function
    console.log(arr.toString()); / [object Array]
    
    console.log(Array.prototype.toString.call({ join: () => 1 })); / 1
    

    JavaScript calls the toString method automatically when an array is to be represented as a text value or when an array is referred to in a string concatenation.

    Array.prototype.toString recursively converts each element, including other arrays, to strings. Because the string returned by Array.prototype.toString does not have delimiters, nested arrays look like they are flattened.

    js
    const matrix = [
      [1, 2, 3],
      [4, 5, 6],
      [7, 8, 9],
    ];
    
    console.log(matrix.toString()); / 1,2,3,4,5,6,7,8,9
    

    When an array is cyclic (it contains an element that is itself), browsers avoid infinite recursion by ignoring the cyclic reference.

    js
    const arr = [];
    arr.push(1, [3, arr, 4], 2);
    console.log(arr.toString()); / 1,3,,4,2
    

    Examples

    Using toString()

    js
    const array1 = [1, 2, "a", "1a"];
    
    console.log(array1.toString()); / "1,2,a,1a"
    

    Using toString() on sparse arrays

    Following the behavior of join(), toString() treats empty slots the same as undefined and produces an extra separator:

    js
    console.log([1, , 3].toString()); / '1,,3'
    

    Calling toString() on non-array objects

    toString() is generic. It expects this to have a join() method; or, failing that, uses Object.prototype.toString() instead.

    js
    console.log(Array.prototype.toString.call({ join: () => 1 }));
    / 1; a number
    console.log(Array.prototype.toString.call({ join: () => undefined }));
    / undefined
    console.log(Array.prototype.toString.call({ join: "not function" }));
    / "[object Object]"
    

    Specifications

    Specification
    ECMAScript® 2026 Language Specification
    # sec-array.prototype.tostring

    Browser compatibility

    See also

    • Indexed collections guide
    • Array
    • Array.prototype.join()
    • Array.prototype.toLocaleString()
    • TypedArray.prototype.toString()
    • String.prototype.toString()

    Help improve MDN

    Follow Lee on X/Twitter - Father, Husband, Serial builder creating AI, crypto, games & web tools. We are friends :) AI Will Come To Life!

    Check out: eBank.nz (Art Generator) | Netwrck.com (AI Tools) | Text-Generator.io (AI API) | BitBank.nz (Crypto AI) | ReadingTime (Kids Reading) | RewordGame | BigMultiplayerChess | WebFiddle | How.nz | Helix AI Assistant