Вам необходимо переопределить метод toString
объекта - и дать вашему объекту «текстовое значение» -.
Вы получаете "[object Object]"
, потому что выполняется унаследованный метод Object.prototype.toString
,например:
var cat = {
name: 'Kitten',
toString: function () {
return this.name + ' meow';
}
};
Этот собственный метод toString
будет выполняться при выполнении любого неявного преобразования строки (например, при конкатенации строки к нему), например:
console.log(cat+' text'); // "Kitten meow text"
Примечание. Если вы подразумеваете под «текстовым значением» «строковое представление» объекта (например, перечисление пар свойство / значение), вашей функции потребуется перечислить все свойства (используя оператор for-in
), но обычно большинствов тех случаях, когда это делается для целей отладки, в таком случае я бы порекомендовал вам получить отладчик (например, Firebug) и использовать метод console.dir
.