mozilla
Your Search Results

    Object.prototype.toString()

    This translation is incomplete. Please help translate this article from English.

    概要

    オブジェクトを表す文字列を返します。

    構文

    obj.toString()

    説明

    全てのオブジェクトは toString メソッドを持ち、オブジェクトが文字列値として表されるべきときや、文字列が期待される構文で参照されたときに自動的に呼び出されます。デフォルトで、toString メソッドは Object の子孫にあたるあらゆるオブジェクトに継承されています。このメソッドがカスタムオブジェクト中で上書きされていない場合、toString[object type ] を返します( type はそのオブジェクトの型)。以下のコードがこれを例示しています。

    var o = new Object();
    o.toString(); // [object Object] を返す
    

    組み込みの toString メソッド

    コア JavaScript オブジェクトはそれぞれ、そのオブジェクトを文字列に変換する必要があるときに適切な値を返す独自の toString メソッドを持っています。それらには以下のようなものがあります。

    後方互換性

    JavaScript 1.2

    JavaScript 1.2 では、デフォルトの toString メソッドはオブジェクトリテラルを返します。

    デフォルトの toString メソッドの上書き

    あなたはデフォルトの toString メソッドに代わって呼び出される関数を作ることができます。toString メソッドは引数を取らず、文字列を返す必要があります。あなたが作った toString メソッドは好きな値にできますが、オブジェクトに関する情報を伝えるのが一番役に立つでしょう。

    以下のコードは Dog オブジェクト型を定義し、Dog 型のオブジェクト theDog を生成しています。

    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")
    

    もしこのカスタムオブジェクト上で toString メソッドを呼び出した場合、メソッドは Object から継承されたデフォルト値を返します。

    theDog.toString(); // [object Object] を返す
    

    以下のコードはデフォルトの toString メソッドを上書きするのに使う関数 dogToString を生成し、toString メソッドに代入しています。この関数はオブジェクトの名前、品種、毛色、そして性別を "property = value;" の書式で含む文字列を生み出します。

    Dog.prototype.toString = function dogToString() {
      var ret = "Dog " + this.name + " is a " + this.sex + " " + this.color + " " + this.breed;
      return ret;
    }
    

    以上のコードにより、theDog が文字列の文脈で使われた時にはいつでも、JavaScript は以下の文字列を返す dogToString 関数を自動的に呼び出します。

    Dog Gabby is female chocolate Lab
    

    参照

    toSource, valueOf

    ドキュメントのタグと貢献者

    タグ: 
    Contributors to this page: Yuichirou, Potappo, teoli, ethertank, Mgjbot
    最終更新者: teoli,