ここでは、文字列とは何か、JavaScriptで文字列を作成、比較、連結する方法について学びます。
JavaScriptの文字列の基本的な使い方
文字列は、JavaScriptのプリミティブなデータ型です。文字列はテキストコンテンツです。シングルクォーテーションまたはダブルクォーテーションで囲む必要があります。
"Hello World"
'Hello World'
イコール(=)演算子を使って、文字列の値を変数に代入することができる。
var str1 = "Hello World";
var str2 = 'Hello World';
文字列は、ゼロインデックスに基づく文字配列のように扱うこともできます。
var str = 'Hello World';
str[0] // H
str[1] // e
str[2] // l
str[3] // l
str[4] // o
str.length // 11
文字列は文字インデックスなので、forループやfor-ofループでアクセスすることができる。
var str = 'Hello World';
for(var i =0; i< str.length; i++)
console.log(str[i]);
for(var ch of str)
console.log(ch);
文字列の連結(結合)
JavaScriptでは文字列は不変であり、プラス(+)演算子で連結することができます。
var str = 'Hello ' + "World " + 'from ' + 'The Site';
文字列の中に引用符を含む
文字列値の内側には、文字列値を囲む引用符と一致しない引用符を使用します。
例えば、文字列全体がダブルクォーテーションで囲まれている場合はシングルクォーテーションを使用し、その逆の場合はダブルクォーテーションを使用します。
var str1 = "This is 'simple' string";
var str2 = 'This is "simple" string';
引用符を囲んでいるのと同じ引用符を文字列の値に含めたい場合は、文字列の値の中で引用符の前にバックスラッシュを使用します。
var str1 = "This is \"simple\" string";
var str2 = 'This is \'simple\' string';
文字列(String)オブジェクト
上記では、文字列リテラルを変数に代入しました。
JavaScriptでは、以下のようにnewキーワードでStringオブジェクトを作成することができます。
var str1 = new String();
str1 = 'Hello World';
// or
var str2 = new String('Hello World');
上記の例では、JavaScriptはプリミティブな文字列型ではなく、Stringオブジェクトを返しています。
Stringオブジェクトの代わりにプリミティブ文字列を使用することをお勧めします。
var str1 = new String('Hello World');
var str2 = new String('Hello World');
var str3 = 'Hello World';
var str4 = str1;
str1 == str2; // false - because str1 and str2 are two different objects
str1 == str3; // true
str1 === str4; // true
typeof(str1); // object
typeof(str3); //string
ポイントまとめ
- JavaScript の文字列は、二重引用符または一重引用符(” ” または ‘ ‘ )で囲む必要があります。
- 文字列は、= 演算子で変数に代入することができます。
- 複数の文字列は + 演算子で連結することができます。
- 文字列は、文字配列として扱うことができます。
- 文字列の中に引用符を入れるには、バックスラッシュ( \) を使用します。
- 文字列オブジェクトは、new キーワードで作成できます。
- 文字列に対して様々な処理を行うには、文字列メソッドを使用します。