Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

【JavaScript ECMAScript】String::String.raw静的メソッドの使い方

String.raw()静的メソッドの使い方について、初心者にもわかりやすく解説します。

作成日: 更新日:

基本的な使い方

String.raw()メソッドは、テンプレートリテラル内の「生(raw)」の文字列を取得するメソッドです。JavaScriptのテンプレートリテラルでは通常、\n(改行)や\t(タブ)のようなエスケープシーケンスが特別な意味に解釈され、対応する特殊文字に変換されます。しかし、このString.raw()メソッドを使用すると、それらのエスケープシーケンスが特別な意味として解釈されることなく、バックスラッシュを含む文字そのものとして文字列に含まれます。

具体的には、バッククォート(`)で囲まれたテンプレートリテラルを、このメソッドに直接タグ付けして使用します。例えば、String.rawHello\nWorld`` と記述した場合、通常のテンプレートリテラルが「Hello」と「World」の間に改行を挿入するのに対し、String.raw()は「Hello\nWorld」という文字列を生成します。これは、バックスラッシュと「n」がそれぞれ独立した文字として扱われ、エスケープシーケンスとしての機能を持たないことを意味します。

この機能は、特にファイルパス(例: WindowsのC:\Users\Name)や正規表現パターンなど、バックスラッシュを文字通り扱いたい場合に非常に役立ちます。開発者は、バックスラッシュを二重に記述してエスケープする手間を省き、コードの可読性を高めることができます。ただし、文字列内の補間式(${変数})は、このメソッドを使用しても通常通り評価され、その結果が文字列に組み込まれる点に注意が必要です。

公式リファレンス: String.raw()

構文(syntax)

1console.log(String.raw`Hello\nWorld!`);

引数(parameters)

callSite, ...substitutions

  • callSite: String.raw() メソッドを呼び出した時のタグ付きテンプレートリテラルの情報が含まれるオブジェクト
  • ...substitutions: タグ付きテンプレートリテラル内で展開される、任意個数の値

戻り値(return)

string

テンプレートリテラル内のエスケープシーケンスを解釈せずに、そのままの文字列を返します。

関連コンテンツ

関連プログラミング言語