Stringオブジェクト

String オブジェクトは文字列のラッパークラスです。 String オブジェクトのインスタンスだけでなく、数値からも String オブジェクトのメソッドを呼び出したりプロパティを参照することができます。ここでは JavaScript の String オブジェクトについて解説します。

(Last modified: )

Stringオブジェクトのコンストラクタ

String オブジェクトは文字列のラッパーオブジェクトです。文字列に対して String オブジェクトのメソッドを呼び出すと、文字列が自動的に String オブジェクトに変換されてメソッドが呼び出されます。(ラッパーオブジェクトとはなにかについては「ラッパーオブジェクトとプリミティブ型」を参照されてください)。

通常 String オブジェクトを直接作成する必要はあまりありませんが、オブジェクトを作成するには String オブジェクトのコンストラクタを使用します。書式は次のとおりです。

new String(value)

引数には String オブジェクトの値を指定します。文字列以外を指定した場合は、いったん文字列に変換されたあとで値として設定されます。値は String オブジェクトがラップするプリミティブ値として設定されます。

次のサンプルをみてください。

let obj1 = new String('Hello');
console.log(obj1);
>> String {"Hello"}

let obj2 = new String(365);
console.log(obj2);
>> String {"365"}

let obj3 = new String(0xF3);
console.log(obj3);
>> String {"243"}

文字列以外の値を引数に指定した場合、どのように文字列に変換されるのかはご注意ください。例えば数値が10進数以外で記述されていた場合は10進数での表記に変えたものが文字列となります。

Stringオブジェクトのプリミティブ値を取得する

String オブジェクトが持つプリミティブ値を取得するには、 String オブジェクトで用意されているインスタンスメソッドの valueof メソッドを使用します。書式は次の通りです。

strObj.valueOf()

指定した String オブジェクトが持つプリミティブ値を返します。

次のサンプルをみてください。

let obj = new String('北海道');
console.log(obj.valueOf());
>> 北海道

String オブジェクトが持つプリミティブ値を取得することができました。

また String オブジェクトで用意されているインスタンスメソッドの toString メソッドを使うと指定されたオブジェクトを表す文字列を取得することができます。書式は次の通りです。

strObj.toString()

指定した String オブジェクトを表す文字列を取得します。

次のサンプルをみてください。

let obj = new String('北海道');
console.log(obj.toString());
>> 北海道

valueOf メソッドと同じ値を取得することができました。

-- --

JavaScript の String オブジェクトについて解説しました。

( Written by Tatsuo Ikura )

Profile
profile_img

著者 / TATSUO IKURA

プログラミングや開発環境構築の解説サイトを運営しています。