【JavaScript ECMAScript】String::String.prototype.valueOfインスタンスメソッドの使い方
String.prototype.valueOf()インスタンスメソッドの使い方について、初心者にもわかりやすく解説します。
基本的な使い方
String.prototype.valueOf()メソッドは、Stringオブジェクトが持つプリミティブな文字列値を返すメソッドです。JavaScriptにおいて文字列は通常、直接リテラルとして使用されるプリミティブ値ですが、new String()コンストラクタを使用して明示的にStringオブジェクトとして生成することも可能です。このvalueOf()メソッドは、そのようなStringオブジェクトから、そのオブジェクトがラップしている本来の文字列値を取り出す際に使用されます。
例えば、let strObj = new String("こんにちは"); のようにStringオブジェクトを作成した場合、strObj.valueOf() を呼び出すと、プリミティブな文字列である "こんにちは" が返されます。
開発者がこのメソッドを直接呼び出すことは稀で、JavaScriptエンジンが内部的にオブジェクトからプリミティブ値への型変換(強制型変換)を行う際に利用します。これにより、Stringオブジェクトが期待される場所でプリミティブな文字列として機能することが保証されます。例えば、文字列結合や比較演算子がStringオブジェクトに適用される際、JavaScriptエンジンは内部的にvalueOf()またはtoString()メソッドを呼び出して、オブジェクトを適切なプリミティブ値に変換しようと試みます。Stringオブジェクトの場合、toString()メソッドも同様にプリミティブな文字列を返しますが、valueOf()はオブジェクトのプリミティブな表現に特化したメソッドです。このメソッドは、Stringオブジェクトからその基盤となる文字列値を取得するための標準的な方法を提供しています。
構文(syntax)
1const stringObject = new String("example"); 2const primitiveValue = stringObject.valueOf();
引数(parameters)
引数なし
引数はありません
戻り値(return)
string
このメソッドは、Stringオブジェクトのプリミティブな値(文字列)を返します。