_文字列_は、テキストデータを保存するためのJavaScriptのデータ型です。1文字だけを表す専用のデータ型はありません。
文字列リテラルを作るには、テキストをシングルクォートまたはダブルクォートで囲みます。Exercismでは、シングルクォートを使います。
'Hello, World!'
"Hello, World!"
テキストの中には、前にバックスラッシュ\を付ける必要がある特殊文字もあります。詳しくは、MDNのエスケープシーケンスを参照してください。
const text = 'I\'m having fun.\nWhat about you?';
console.log(text);
// => I'm having fun.
// => What about you?
シングルクォートとダブルクォートのほかに、テキストをバッククォートで囲んで文字列を作ることもできます。この構文なら、シングルクォートやダブルクォート、さらには改行も、エスケープせずにそのまま含めることができます。式を埋め込むこともできます。詳しくは、テンプレート文字列を参照してください。
`A multi-line string
with 'single quotes'
and "double quotes"`;
文字列は、最初の文字のインデックスが0である文字の配列として扱うことができます。取り出したい文字のインデックスを角括弧([])で囲むと、その1文字にアクセスできます。ほかには、charAtメソッドを使う方法もあります。
'cat'[1];
// => 'a'
'cat'.charAt(2);
// => 't'
lengthプロパティにアクセスすると、文字列の文字数を調べることができます。
'cat'.length;
// => 3
文字列を連結するもっとも簡単な方法は、加算演算子+を使うことです。
'I like' + ' ' + 'cats.';
// => "I like cats."
文字列には便利なメソッドがたくさん用意されています。一覧は、MDNのStringメソッドのドキュメントを参照してください。よく使われるものをいくつか挙げます。
toUpperCaseとtoLowerCase:すべての文字の大文字・小文字を変換しますtrim:先頭と末尾の空白を削除しますincludes、startsWith、endsWith:ある文字列が与えられた文字列の一部であるかどうかを判定しますslice:文字列の一部を取り出します上記のメソッドを使っても、元の文字列が変わることはありません。代わりに、新しい文字列が作られて返されます。JavaScriptでは、文字列(およびその他のプリミティブ型)は不変です。つまり、上で説明した角括弧の構文を使って、あるインデックスの文字を別の文字に置き換えることはできません(配列ではそれができるのに、という意味です)。
const str = 'cat';
str[1] = 'u'; // fails silently
console.log(str);
// => 'cat'