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() を呼び出します。

脚註

編集
  1. ^ これは、String オブジェクトを文字列プリミティブに変換するために使用されます。

外部リンク

編集