Метод toString()
Метод toString()
не требует аргументов; он возвращает строку, каким-либо образом представляющую значение объекта, для которого он вызывается.
Интерпретатор JavaScript вызывает этот метод объекта во всех тех случаях, когда ему требуется преобразовать объект в строку.
Например, это происходит, когда используется оператор + для конкатенации строки с объектом, или при передаче объекта методу, требующему строку. Метод toString()
по умолчанию не очень информативен (однако его удобно ис- пользовать для определения класса объекта). Например, следующий фрагмент просто записывает в переменную s
строку "[object Object]"
:
var s = { x:1, y:1 }.toString( );
Этот метод по умолчанию не отображает особенно полезной информации, поэтому многие классы определяют собственные версии метода toString()
. Например, когда массив преобразуется в строку, мы получаем список элементов массива, каждый из которых преобразуется в строку, а когда в строку преобразуется функция, мы получаем исходный программный код этой функции.
Метод toString() для своих собственных классов можно переопределить!
Метод toLocaleString()
В дополнение к методу toString()
все объекты имеют метод toLocaleString()
. Назначение последнего состоит в получении локализованного строкового представления объекта. По умолчанию метод toLocaleString()
, определяемый классом Object
, никакой локализации не выполняет; он просто вызывает метод toString()
и возвращает полученное от него значение. Классы Date и Number
определяют собственные версии метода toLocaleString()
, возвращающие строковые представления чисел и дат в соответствии с региональными настройками. Класс Array
определяет версию метода toLocaleString()
, действующую подобно методу toString()
за исключением того, что он форматирует элементы массива вызовом их метода toLocaleString()
, а не toString()
.