文字列リテラルの記述方法

文字列型の値をプログラムの中で使用するには、文字列の値である文字列リテラルをそのまま記述します。ここでは JavaScript における文字列リテラルの記述方法について解説します。

(Last modified: )

JavaScriptにおける文字列

JavaScript では文字列として記述されたひとつひとつの文字は 16 ビットの Unicode (UTF-16) の文字として保管されます。英数文字や日本語の文字だけでなく多くの文字を記述できます。内部的にどのような文字コードで保管されているのかは普段はあまり気にされることはありませんが、意識する必要がある場合には都度解説する予定です。

なお JavaScript のプログラムを記述したファイルで使用する文字コードは UTF-8 などを使って保管されて構いません。

文字列リテラルの記述方法

文字列は 0 文字以上の文字の並びです。文字列リテラルをプログラムの中で記述する場合は、シングルクォーテーション(')またはダブルクォーテーション(")で全体を囲って記述してください。

let nama = 'Yamada Tarou';
let address = "東京都千代田区";

シングルクォーテーションで囲った場合とダブルクォーテーションで囲った場合で違いはありません。どちらでも同じ文字列となります。

ECMAScript 2015 (ES 6) からはテンプレートリテラルという機能が追加され、文字列をバッククォーテーション(`)で囲って記述することができるようになりました。詳しくは「テンプレートリテラルを使って文字列を表す」で解説します。

空文字(文字が 0 文字の文字列)はシングルクォーテーションまたはダブルクォーテーションだけを記述します。

let nama = '';
let address = "";

文字列の中でシングルクォーテーションやダブルクォーテーションを記述する

文字列の中でシングルクォーテーションを使用したい場合、または文字列の中でダブルクォーテーションを使用したい場合は少し注意が必要です。どちらも文字列の開始から終了までを表す文字として使われているので、そのまま文字列の中に記述してしまうとどこからどこまでが文字列が判別できなくなりエラーが発生します。

let msg = 'Tarou's watch';
>> Uncaught SyntaxError: Unexpected identifier

シングルクォーテーションを文字列の中で記述する場合は、文字列をダブルクォーテーションで囲ってください。

let msg = "Tarou's watch";

同じようにダブルクォーテーションを文字列の中で記述する場合は、文字列をシングルクォーテーションで囲ってください。

let msg = '今日は"特売日"です';

もう一つの方法はエスケープシーケンスを使用します。これは改行など特別な文字を記述したい場合の記述方法で、シングルクォーテーションやダブルクォーテーションを単なる文字として記述する場合はバックスラッシュ(\) ( Windows 環境の場合は円記号)を付けて \' または \" と記述します。エスケープシーケンスで記述する場合は、シングルクォーテーションで囲まれた文字列の中でシングルクォーテーションを使っても大丈夫です。

let msg = 'Tarou\'s watch';
console.log(msg);
>> Tarou's watch

let msg2 = "今日は\"特売日\"です";
console.log(msg2);
>> 今日は"特売日"です

※ エスケープシーケンスについては「特殊な文字の入力(エスケープシーケンス)」にて詳しく解説します。

文字列を途中で改行する

文字列リテラルを入力するとき、途中で Enter キーを押して改行することはできません。

let msg = 'こんにちは。
今日はお元気ですね';
>> Uncaught SyntaxError: Invalid or unexpected token

文字列の途中で改行したい場合には改行を表すエスケープシーケンスである \n を改行したい位置に入力してください。

let msg = 'こんにちは。\n今日はお元気ですね';

console.log(msg);
>> こんにちは。
>> 今日はお元気ですね

※ エスケープシーケンスについては「特殊な文字の入力(エスケープシーケンス)」にて詳しく解説します。

※ なおテンプレートリテラルでは、複数行にわたる文字列の記述を行うことができます。詳しくは「テンプレートリテラルを使って文字列を表す」で解説します。

-- --

JavaScript における文字列リテラルの記述方法について解説しました。

( Written by Tatsuo Ikura )

Profile
profile_img

著者 / TATSUO IKURA

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