概要
javascriptのオブジェクトもまた、型変換ができます。
オブジェクトを型変換する場合、論理値への変換は全てtrueに変換されます。
オブジェクトから文字列、数値への変換はメソッドを呼び出して変換します。
変換するメソッドは
toString()
と
valueOf()
です。
toStringt()メソッドは各クラスの種類に応じた変換結果を文字列や数値を返します。
valueOf()メソッドについては、各オブジェクトに対しての基本型値に変換したものを返します。
まとめると、以下のようになります。
各オブジェクトの変換について
■オブジェクトを文字列に変換する
①対象となるオブジェクトがtoStringt()メソッドを持つ場合
javascriptはtoStringt()メソッドを呼び出す。
基本型値が返されたら、その値を文字列に変換した文字列を返す。
②toStringt()メソッドが定義されていない場合
基本型値が返されなかった場合は、valueOf()メソッドが定義されているかどうかで、動きが変わってきます。
定義されている場合は、valueOf()メソッドを呼び出します。
③toStringt()メソッドもvalueOf()メソッドも定義されていない場合
例外処理となり、エラーとなります。
■オブジェクトを数値に変換する
①valueOf()メソッドが定義されており、返りの値が基本型値の場合、基本型値を数値に変換して返します。
②toStringt()メソッドが定義されている場合、その値を返します。
③toStringt()メソッドもvalueOf()メソッドも定義されていない場合、例外処理となり、エラーになります。