Преобразование объектов в строки в JavaScript происходит с помощью метода toString(). 14 Он встроен во многие встроенные объекты и прототипы, включая Object, Number, String, Array и даже Function. 1
При преобразовании объекта в строку интерпретатор JavaScript выполняет следующие действия: 3
- Если объект имеет метод toString(), интерпретатор вызывает его. 3
- Если он возвращает простое значение, интерпретатор преобразует значение в строку (если оно не является строкой) и возвращает результат преобразования. 3
- Если объект не имеет метода toString() или этот метод не возвращает простое значение, то интерпретатор проверяет наличие метода valueOf(). 3
- Если этот метод определён, интерпретатор вызывает его. 3
- Если он возвращает простое значение, интерпретатор преобразует это значение в строку (если оно не является строкой) и возвращает результат преобразования. 3
- В противном случае интерпретатор делает вывод, что ни toString(), ни valueOf() не позволяют получить простое значение и возбуждает ошибку TypeError. 3
Некоторые типы имеют более специализированные версии метода toString(). 3 Например, метод toString() у массива преобразует все его элементы в строки и затем объединяет их в одну строку, вставляя запятые между ними. 3