Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Приведение к строке (https://javascript.ru/forum/misc/48487-privedenie-k-stroke.html)

foo 06.07.2014 00:16

Приведение к строке
 
А правильно ли я понимаю, что сложение пустой строки с любой фигней приведет эту фигню к строке? И, соответственно, ф-ции String и toString вообще не нужны. Или есть случаи?

Erolast 06.07.2014 09:04

При попытке конкатенации объекта со строкой объект сперва приводится к строке путем вызова метода toString. Его можно прописать абсолютно для любого объекта, и он будет использоваться для приведения, да:
var user = {
  name: "Вася",
  age: 21,
  toString: function() {
    return this.name;
  }
}

alert(user); //alert переводит переданный аргумент в строку, и только потом выводит

foo 06.07.2014 09:57

Erolast,
Спасибо, не сразу врубился:) Очень интересный пример. Почему-то c console.log это не проходит.

Aetae 06.07.2014 11:58

Потому что console.log не приводит к строке.


Часовой пояс GMT +3, время: 22:58.