Object.prototype.toString()
BaselineWidely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
Resumen
Devuelve una cadena que representa al objeto.
Sintaxis
toString()
Descripción
Todos los objetos tienen un métodotoString
que se llama automáticamente cuando el objeto se representa como un valor de texto o cuando un objeto se referencia de tal manera que se espera una cadena. Por defecto, el métodotoString
es heredado por todos los objetos que descienden deObject
. Si este método no se sobreescribe en el objeto personalizado,toString
devuelve[objecttype]
, dondetype
es el tipo de objeto. El siguiente código ilustra esto:
var objeto = new Object();objeto.toString(); // Devuelve [object Object]
Ejemplos
Sobreescribir el método por defectotoString
Puede crear una función que sea llamada en lugar del método predeterminadotoString
. El métodotoString
no toma argumentos y debería devolver una cadena. El métodotoString
que cree puede ser cualquier valor que quiera, pero será más útil si aporta información sobre el objeto.
El siguiente código define el tipo de objetoPerro
y creaelPerro
, un objeto de tipoPerro
:
function Perro(nombre, criadero, color, sexo) { this.nombre = nombre; this.criadero = criadero; this.color = color; this.sexo = sexo;}elPerro = new Perro("Gabby", "Laboratorio", "chocolate", "femenino");
Si llama al métodotoString
en el objeto personalizado, devuelve el valor predeterminado heredado deObject
:
elPerro.toString(); //devuelve [object Object]
El siguiente código crea y asignaperroToString
para sobreescribir el método predeterminadotoString
. Esta función genera una cadena que contiene nombre, criadero, color, y sexo del objeto, en la forma "propiedad = valor;
".
Perro.prototype.toString = function perroToString() { var retorno = `Perro ${this.nombre} es ${this.sexo} ${this.color} ${this.criadero}`; return retorno;};
Con el código precedente en su lugar, cualquier vez que se useelPerro
en un contexto de una cadena, JavaScript automáticamente llamará a la funciónperroToString
, la cuál devuelve la siguiente cadena:
Perro Gabby es femenino chocolate Laboratorio