dr.Brain

doctor Brain

мир глазами веб-разработчика

JavaScript: Object.toString и Array.toString

чем отличаются Object.toString и Array.toString в JavaScript

dr.Brain

время чтения 1 мин.

Photo by Cristina Anne Costello on Unsplash

Ни для кого не секрет, что в JavaScript стандартные встроенные объекты Object и Array имеют метод toString. Но в чем отличия Object.toString и Array.toString. Вернут ли эти методы одинаковые значения при использовании для одного и того же объекта?

let toStringObject = Object.prototype.toString,
    toStringArray = Array.prototype.toString,
    arr = [1, 2, 3, 4, 5];

console.log(toStringObject.call(arr));
console.log(toStringArray.call(arr));

Итак, в JavaScript любой объект имеет метод toString, возвращающий текстовое представление объекта в виде строки [object TYPE], где TYPE - это тип объекта. В нашем примере типу объекта TYPE соответствует значение Array:

console.log(toStringObject.call(arr)); // [object Array]

Метод toString стандартного объекта Array не является эквивалентом Object.prototype.toString и возвращает в виде одной строки список всех элементов массива, разделенных запятыми:

console.log(toStringArray.call(arr)); // 1,2,3,4,5

Таким образом, в результате исполнения кода мы получим две разные строки:

let toStringObject = Object.prototype.toString,
    toStringArray = Array.prototype.toString,
    arr = [1, 2, 3, 4, 5];

console.log(toStringObject.call(arr));
console.log(toStringArray.call(arr));

// [object Array]
// 1,2,3,4,5

Спасибо за внимание.

Новые публикации

Далее

Категории

О нас

Frontend & Backend. Статьи, обзоры, заметки, код, уроки.