Movatterモバイル変換


[0]ホーム

URL:


MDN Web Docs

此页面由社区从英文翻译而来。了解更多并加入 MDN Web Docs 社区。

Array.prototype.toString()

BaselineWidely available

toString() 方法返回一个字符串,表示指定的数组及其元素。

尝试一下

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

语法

js
toString()

返回值

一个表示数组元素的字符串。

描述

Array 对象覆盖了ObjecttoString 方法。数组的toString 方法实际上在内部调用了join() 方法来拼接数组并返回一个包含所有数组元素的字符串,元素之间用逗号分隔。如果join 方法不可用或者不是函数,则会使用Object.prototype.toString 来代替,并返回[object Array]

js
const arr = [];arr.join = 1; // 将 `join` 重新赋值为非函数的值console.log(arr.toString()); // [object Array]console.log(Array.prototype.toString.call({ join: () => 1 })); // 1

当数组需要被表示为文本值,或者当数组在字符串拼接中被引用时,JavaScript 会自动调用toString() 方法。

示例

使用 toString()

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

在稀疏数组中使用 toString()

join() 的行为一致,toString() 将空槽视为undefined 并生成一个额外的分隔符:

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

在非数组对象中使用 toString()

toString()通用的。它期望this 具有join() 方法;如果不存在,则使用Object.prototype.toString()

js
console.log(Array.prototype.toString.call({ join: () => 1 }));// 1; 一个数字console.log(Array.prototype.toString.call({ join: () => undefined }));// undefinedconsole.log(Array.prototype.toString.call({ join: "not function" }));// "[object Object]"

规范

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

浏览器兼容性

参见

Help improve MDN

Learn how to contribute.

This page was last modified on byMDN contributors.


[8]ページ先頭

©2009-2025 Movatter.jp