JavaScript String 文字列オブジェクト

JavaScriptにおける文字列はオブジェクトであり、さまざまなプロパティやメソッドを持ちます。ここでは、プロパティおよびメソッドの一覧と、それらの使い方をご紹介します。

目次

  1. コンストラクタ
  2. プロパティ
    1. constructor
    2. length
    3. prototype
  3. メソッド
    1. charAt
    2. charCodeAt
    3. concat
    4. fromCharCode
    5. indexOf
    6. lastIndexOf
    7. localeCompare
    8. match
    9. replace
    10. search
    11. slice
    12. split
    13. substring
    14. toLocaleLowerCase
    15. toLocaleUpperCase
    16. toLowerCase
    17. toString
    18. toUpperCase
    19. trim
    20. valueOf

コンストラクタ

String オブジェクトのコンストラクタを使って、文字列オブジェクトを生成できる。

const s = new String("文字列オブジェクト");

プロパティ

JavaScriptの文字列は、次に示すプロパティを持つ。

Stringオブジェクトのプロパティ
プロパティ 説明
コンストラクタ コンストラクタ関数
length 文字列の長さ
prototype プロパティとメソッドをオブジェクトに追加することを許す

length

length プロパティは文字列の長さを表す。文字数であり、バイト数ではない。

let l = "あいうえお".length; // l = 5

メソッド

JavaScriptの文字列は、次に示すメソッドを持つ。

Stringオブジェクトのメソッド
メソッド 説明
charAt 指定位置の文字を返す。
charCodeAt 指定位置の文字のUnicodeを返す。
concat 文字列を連結して返す。
fromCharCode Unicodeを文字に変換して返す。
indexOf 指定した文字列が最初に現れる位置を返す。
lastIndexOf 指定した文字列が最後に現れる位置を返す。
localeCompare 現在のロケールで2つの文字列を比較する。
match 正規表現で指定したパターンに一致する文字列を検索する。
replace 正規表現で指定したパターンに一致する文字列を置き換える。
search 正規表現で指定したパターンに一致する文字列を検索する。
slice 指定した開始位置と終了位置で文字列を切り出して返す。
split 指定した文字列で区切った文字列を配列で返す。
substring 指定した開始位置と終了位置で文字列を切り出して返す。
toLocaleLowerCase ホストのロケールに従って文字列を小文字に変換して返す。
toLocaleUpperCase ホストのロケールに従って文字列を大文字に変換して返す。
toLowerCase 文字列を小文字に変換して返す。
toString Stringオブジェクトの値を返す。
toUpperCase 文字列を大文字に変換して返す。
trim 先頭と末尾の空白を取り除いた文字列を返す。
valueOf Stringオブジェクトのプリミティブ値を返す。

concat

JavaScript の文字列の concat メソッドは、2つ以上の文字列を結合して、新しい文字列を作成するために使われる。

string.concat(string1, string2, ..., stringN)

concat メソッドの戻り値として、新しい文字列が返される。

const string1 = "foo";
const string2 = "bar";
const string3 = "baz"
const string4 = string1.concat(string2, string3);

JavaScript では、連結演算子を使って文字列を連結することもできる。

const string1 = "foo";
const string2 = "bar";
const string3 = "baz"
const string4 = string1 + string2 + string3;

テンプレートリテラルを使って文字列を連結することもできる。テンプレートリテラルは、変数と定数が混在した文字列を作成するのに便利である。

const string1 = "foo";
const string2 = "bar";
const string3 = "baz"
const string4 = `${string1} ${string2} ${string3}`;

replace()

文字列を置き換える。

String.replace(substr, newStr)
String.replace(regexp, newStr)
String
Stringオブジェクト又は文字列リテラル
substr
置換前の部分文字列を指定する。
newStr
置換後の文字列を指定する。
regexp
置換前の部分文字列を正規表現で指定する。正規表現は引用符で括らない。

戻り値

置き換え後の文字列を返す。

Stringオブジェクトの文字列を置換するJavaScriptの例を示す。

<p id="ex1"></p>
<script>
  const s = "foo bar baz";
  document.getElementById("ex1").innerHTML = s.replace("ba", "BA")
</script>

文字列リテラルを置換するJavaScriptの例を示す。

<p id="ex2"></p>
<script>
  document.getElementById("ex2").innerHTML = "foo bar baz".replace("ba", "BA")
</script>

正規表現にマッチする部分文字列を一度だけ置換するJavaScriptの例を示す。

<p id="ex3"></p>
<script>
  document.getElementById("ex3").innerHTML = "foo Bar baz".replace(/[Bb]a/, "BA")
</script>

正規表現にマッチする部分文字列をすべて置換するJavaScriptの例を示す。

<p id="ex4"></p>
<script>
  document.getElementById("ex4").innerHTML = "foo Bar baz".replace(/[Bb]a/g, "BA")
</script>

参考文献