Строковое преобразование

Строковое преобразование проще всего увидеть, если вывести объект при помощиalert:

var user = {
  firstName: 'Василий'
};

alert( user ); // [object Object]

Как видно, содержимое объекта не вывелось. Это потому, что стандартным строковым представлением пользовательского объекта является строка"[object Object]".

Такой вывод объекта не содержит интересной информации. Поэтому имеет смысл его поменять на что-то более полезное.

Если в объекте присутствует методtoString, который возвращает примитив, то он используется для преобразования.

var user = {

  firstName: 'Василий',

  toString: function() {
    return 'Пользователь ' + this.firstName;
  }
};

alert( user );  // Пользователь Василий

Результатом toStringможет быть любой примитив. МетодtoStringне обязан возвращать именно строку.

Все объекты, включая встроенные, имеют свои реализации метода toString, например:

alert( [1, 2] ); // toString для массивов выводит список элементов "1,2"
alert( new Date ); // toString для дат выводит дату в виде строки
alert( function() {} ); // toString для функции выводит её код

results matching ""

    No results matching ""