JavaScript/String/prototype/valueOf
String.prototype.valueOf()
は、String
オブジェクトの基本的な文字列値を返すメソッドです。このメソッドは、String
オブジェクトから文字列プリミティブを取得するために使用されます[1]。
構文
編集str.valueOf()
str
:valueOf()
メソッドを呼び出すString
オブジェクト。
例
編集String オブジェクトから文字列値を取得するプログラム
編集以下のプログラムは、valueOf()
を使用して String
オブジェクトから文字列プリミティブ値を取得します。
const strObj = new String("Hello World"); console.log(typeof strObj); // "object" const str = strObj.valueOf(); console.log(typeof str); // "string" console.log(str); // "Hello World"
このプログラムでは、valueOf()
を使用して String
オブジェクト strObj
から文字列プリミティブ値を取得しています。valueOf()
メソッドを呼び出した後、変数 str
は文字列型となります。
String.prototype.toString() との比較
編集以下のプログラムは、valueOf()
と toString()
の動作を比較します。
const strObj = new String("Hello World"); console.log(strObj.valueOf() === strObj.toString()); // true
このプログラムでは、String.prototype.valueOf()
と String.prototype.toString()
の結果を比較しています。String
オブジェクトの場合、どちらのメソッドも同じ文字列値を返します。
注意点
編集- 継承:
String.prototype.valueOf()
メソッドはObject.prototype.valueOf()
をオーバーライドします。 - 戻り値: このメソッドは常に文字列プリミティブを返します。
- 文字列プリミティブ: 文字列プリミティブに対して
String.prototype.valueOf()
を呼び出すと、同じ文字列が返されます。 - 自動変換: JavaScript は、オブジェクトを文字列コンテキストで使用する場合、自動的に
String.prototype.valueOf()
を呼び出します。
脚註
編集- ^ これは、
String
オブジェクトを文字列プリミティブに変換するために使用されます。
外部リンク
編集