1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
|
---
title: Object.prototype.toString()
slug: Web/JavaScript/Referencia/Objetos_globales/Object/toString
tags:
- JavaScript
- Method
- Object
- Prototype
translation_of: Web/JavaScript/Reference/Global_Objects/Object/toString
---
<div>{{JSRef("Objetos_globales", "Object")}}</div>
<h2 id="Resumen" name="Resumen">Resumen</h2>
<p>Devuelve una cadena que representa al objeto.</p>
<h2 id="Sintaxis" name="Sintaxis">Sintaxis</h2>
<p><code>toString() </code></p>
<h2 id="Descripci.C3.B3n" name="Descripci.C3.B3n">Descripción</h2>
<p>Todos los objetos tienen un método <code>toString</code> 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étodo <code>toString</code> es heredado por todos los objetos que descienden de <code>Object</code>. Si este método no se sobreescribe en el objeto personalizado, <code>toString</code> devuelve <code>{{ mediawiki.external('object<em>type</em> ') }}</code>, donde <code><em>type</em> </code> es el tipo de objeto. El siguiente código ilustra esto:</p>
<pre class="brush: js">var objeto = new Object();
objeto.toString(); // Devuelve [object Object]
</pre>
<h3 id="Examples" name="Examples">Ejemplos</h3>
<h4 id="Sobreescribir_el_m.C3.A9todo_por_defecto_toString" name="Sobreescribir_el_m.C3.A9todo_por_defecto_toString">Sobreescribir el método por defecto <code>toString</code></h4>
<p>Puede crear una función que sea llamada en lugar del método predeterminado <code>toString</code>. El método <code>toString</code> no toma argumentos y debería devolver una cadena. El método <code>toString</code> que cree puede ser cualquier valor que quiera, pero será más útil si aporta información sobre el objeto.</p>
<p>El siguiente código define el tipo de objeto <code>Perro</code> y crea <code>elPerro</code>, un objeto de tipo <code>Perro</code>:</p>
<pre class="brush: js">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")
</pre>
<p>Si llama al método <code>toString</code> en el objeto personalizado, devuelve el valor predeterminado heredado de <code>Object</code>:</p>
<pre class="brush: js">elPerro.toString() //devuelve [object Object]
</pre>
<p>El siguiente código crea y asigna <code>perroToString</code> para sobreescribir el método predeterminado <code>toString</code>. Esta función genera una cadena que contiene nombre, criadero, color, y sexo del objeto, en la forma "<code>propiedad = valor;</code>".</p>
<pre class="brush: js">Perro.prototype.toString = function perroToString() {
var retorno = "Perro " + this.nombre + " es " + this.sexo + " " + this.color + " " + this.criadero;
return retorno;
}
</pre>
<p>Con el código precedente en su lugar, cualquier vez que se use <code>elDog</code> en un contexto de una cadena, JavaScript automáticamente llamará a la función <code>perroToString</code>, la cuál devuelve la siguiente cadena:</p>
<pre>Perro Gabby es femenino chocolate Laboratorio
</pre>
<h2 id="Vea_Tambi.C3.A9n" name="Vea_Tambi.C3.A9n">Vea También</h2>
<ul>
<li>{{jsxref("Object.prototype.toSource()")}}</li>
<li>{{jsxref("Object.prototype.valueOf()")}}</li>
</ul>
|