JavaScript: Object.toString и Array.toString
чем отличаются Object.toString и Array.toString в JavaScript
Ни для кого не секрет, что в 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
Спасибо за внимание.