JavaScriptには文字列(string)、数値(number)、論理値(boolean)の3つの単純データ型(プリミティブ型)しかない。
一方、String、Number、Booleanというあらかじめ組み込まれたオブジェクトも存在する。
プログラム中で文字列の入った変数を生成すると、この変数に対してStringオブジェクトのメソッドを利用できる。この際に、JavaScriptの処理系は必要に応じて、暗黙のうちに文字列のはいった変数をStringオブジェクトでラップして、Stringにあらかじめ備わっているプロパティやメソッドを利用する。そして、メソッドなど利用し終わってこのStringオブジェクトが不要になるとこれを破棄する。