【JavaScript ECMAScript】String::String.prototype.toStringインスタンスメソッドの使い方
String.prototype.toString()インスタンスメソッドの使い方について、初心者にもわかりやすく解説します。
基本的な使い方
String.prototype.toString()メソッドは、Stringオブジェクトのインスタンスが保持するプリミティブな文字列値を取得するメソッドです。JavaScriptにおいて、Stringオブジェクトはプリミティブな文字列値をラップするオブジェクトですが、このメソッドはそのラップされている文字列そのものを返します。
このメソッドの主な目的は、Stringオブジェクトを、そのオブジェクトが表す純粋な文字列値として明示的に取得することです。例えば、new String("Hello")のようにして作成されたStringオブジェクトに対してtoString()を呼び出すと、プリミティブな文字列である"Hello"が返されます。これは、JavaScriptの組み込みオブジェクトの多くに存在するtoString()メソッドの中でも、Stringオブジェクトにおいては自身のプリミティブな値を返すという特徴があります。
JavaScriptの多くの場面では、文字列が必要とされるコンテキスト(例えば、文字列結合やconsole.log()など)において、エンジンが自動的にStringオブジェクトをプリミティブな文字列値に型変換するため、このtoString()メソッドを明示的に呼び出す必要はあまりありません。しかし、API設計や特定のロジックにおいて、オブジェクトではなく確実にプリミティブな文字列値として扱いたい場合に利用されます。
また、プリミティブな文字列値(例: "World")に対してこのメソッドを呼び出した場合でも、その文字列値がそのまま返されます。これはJavaScriptの内部的な仕組みによるもので、プリミティブな値に対しても一時的にオブジェクトとして振る舞う「オートボクシング」が行われるためです。このメソッドは引数を取らず、常に現在のStringオブジェクトの文字列表現を返します。
構文(syntax)
1const stringObject = new String("Hello, JavaScript!"); 2console.log(stringObject.toString());
引数(parameters)
引数なし
引数はありません
戻り値(return)
string
このメソッドは、Stringオブジェクトの文字列表現を返します。