Core JavaScript 1.5 Reference:Global Objects:Object:toString
From MDC
Contents |
[edit] Summary
Returns a string representing the object.
| Method of Object | |
| Implemented in: | JavaScript 1.0 |
| ECMA Version: | ECMA-262 |
[edit] Syntax
object.toString()
[edit] Description
Every object has a toString method that is automatically called when the object is to be represented as a text value or when an object is referred to in a manner in which a string is expected. By default, the toString method is inherited by every object descended from Object. If this method is not overridden in a custom object, toString returns [object type], where type is the object type. The following code illustrates this:
var o = new Object(); o.toString(); // returns [object Object]
[edit] Built-in toString methods
Each core JavaScript object has its own unique toString method to return an appropriate value when JavaScript needs to convert that object into a string. These include:
- toString - Array Object method.
- toString - Boolean Object method.
- toString - Date Object method.
- toString - Function Object method.
- toString - JavaArray Object method.
- toString - Number Object method.
- toString - Object Object method.
- toString - RegExp Object method.
- toString - String Object method.
[edit] Examples
[edit] Overriding the default toString method
You can create a function to be called in place of the default toString method. The toString method takes no arguments and should return a string. The toString method you create can be any value you want, but it will be most useful if it carries information about the object.
The following code defines the Dog object type and creates theDog, an object of type Dog:
function Dog(name,breed,color,sex) {
this.name=name;
this.breed=breed;
this.color=color;
this.sex=sex;
}
theDog = new Dog("Gabby","Lab","chocolate","female");
If you call the toString method on this custom object, it returns the default value inherited from Object:
theDog.toString(); //returns [object Object]
The following code creates and assigns dogToString to override the default toString method. This function generates a string containing the name, breed, color, and sex of the object, in the form "property = value;".
Dog.prototype.toString = function dogToString() {
var ret = "Dog " + this.name + " is a " + this.sex + " " + this.color + " " + this.breed;
return ret;
}
With the preceding code in place, any time theDog is used in a string context, JavaScript automatically calls the dogToString function, which returns the following string:
Dog Gabby is a female chocolate Lab