Hatena::Groupmnemonic

きおく屋めがねばし

 | 

2013-01-08

「3.8.3 オブジェクトから基本型への変換」

Object to Primitive Conversions

オブジェクトから論理値への変換は簡単です。

オブジェクトから文字列への変換や、オブジェクトから数値への変換は、変換対象のオブジェクトのメソッドを呼び出すことで行います。

JavaScript オブジェクトには、変換を行う 2 つの異なるメソッドが存在します。また、これから説明する特殊な場合があるので、型変換は理解しにくくなっています。ここで紹介する文字列と数値への変換規則は、ネイティブオブジェクトにだけ適用されます。例えば、Web ブラウザで定義さてれいるようなホストオブジェクトについては、独自のアルゴリズムを使って数値や文字列に変換されます。

すべてのオブジェクトは、変換メソッドを 2 つ持ちます。

多くのクラスでは、そのクラス用に toString() メソッドを定義しています。

[1,2,3].toString()                  // => "1,2,3"
(function(x) { f(x); }).toString()  // => "function (x) {\n    f(x);\n}"
/\d+/g.toString()                   // => "/\\d+/g"
new Date(2010,0,1).toString()       // => "Fri Jan 01 2010 00:00:00 GMT+0800 (PST)"

もう1つの型変換メソッドは、valueOf() メソッドです。このメソッドは、toString() ほどはっきりとは定義されていません。

var d = new Date(2010,0,1);  // January 1st, 2010, (Pacific time)
d.valueOf()                  // => 1262332800000

ただし、JavaScript には、ここで紹介するのとは異なる方法でオブジェクトから基本型への変換が行われる場合があることに注意しておいてください。

オブジェクトを文字列に変換する場合、JavaScript は次の3つの手順を踏みます。


トラックバック - http://mnemonic.g.hatena.ne.jp/paragramma/20130108
 |