Кратко
СкопированоМетод to возвращает представление массива в виде строки, состоящей из значений всех элементов массива, разделённых запятой.
Пример
СкопированоСоздадим строку из массива:
const menuItems = ['Файл', 'Редактирование', 'Просмотр']const menuStr = menuItems.toString()console.log(menuStr)// Файл,Редактирование,Просмотр
const menuItems = ['Файл', 'Редактирование', 'Просмотр']
const menuStr = menuItems.toString()
console.log(menuStr)
// Файл,Редактирование,Просмотр
Как пишется
СкопированоArray не имеет аргументов.
Array возвращает строку, состоящую из строкового представления значений всех элементов массива, разделённых запятой.
Как понять
Скопированоto является одним из базовых методов, реализованных в Object. Массивы переопределяют этот метод. Согласно спецификации ECMAScript, метод Array при вызове обращается к методу .join.
Проверим, что результат работы to и .join совпадает:
const years = [1970, 1980, 1990]console.log(years.toString())console.log(years.join())// 1970,1980,1990// 1970,1980,1990
const years = [1970, 1980, 1990]
console.log(years.toString())
console.log(years.join())
// 1970,1980,1990
// 1970,1980,1990
Если метод .join не может быть вызван, будет вызван Object:
const years = [1970, 1980, 1990]// Обнуляем возможность вызывать .join()years.join = nullconsole.log(years.toString())// [object Array]
const years = [1970, 1980, 1990]
// Обнуляем возможность вызывать .join()
years.join = null
console.log(years.toString())
// [object Array]
Некоторые значения элементов в строковом представлении будут изменены.
null, undefined, а также незаполненные элементы будут представлены пустой строкой:
const numbers = [0, , 1, undefined, null, Infinity]console.log(numbers.toString())// 0,,1,,,Infinity
const numbers = [0, , 1, undefined, null, Infinity]
console.log(numbers.toString())
// 0,,1,,,Infinity
Значения, не являющиеся примитивными типами, будут представлены соответствующим строковым представлением:
const obj = {name: 'Firefox'}const func = obj => obj.nameconst arr = [[42]]const objects = [obj, func, arr]console.log(objects.toString())// [object Object],obj => obj.name,42
const obj = {name: 'Firefox'}
const func = obj => obj.name
const arr = [[42]]
const objects = [obj, func, arr]
console.log(objects.toString())
// [object Object],obj => obj.name,42
Подсказки
Скопировано💡 Метод to вызывается автоматически, когда массив должен быть представлен как строка:
const names = ['Рататоск', 'Иггдрасиль']console.log(names + ' и Хвергельмир')// Рататоск,Иггдрасиль и Хвергельмир
const names = ['Рататоск', 'Иггдрасиль']
console.log(names + ' и Хвергельмир')
// Рататоск,Иггдрасиль и Хвергельмир