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

【JavaScript ECMAScript】SyntaxError: octal escape sequences can't be used in untagged template literals or in strict mode codeエラーの使い方

SyntaxError: octal escape sequences can't be used in untagged template literals or in strict mode codeエラーの使い方について、初心者にもわかりやすく解説します。

作成日: 更新日:

基本的な使い方

SyntaxError: octal escape sequences can't be used in untagged template literals or in strict mode codeオブジェクトは、JavaScriptのコード内で無効な八進数エスケープシーケンスが使用された場合に発生する構文エラーを表すオブジェクトです。このエラーは、プログラムの書き方に間違いがあることを示しています。具体的には、バックスラッシュ(\)の後に数字が続く形式(例えば \0\12 など)で文字を表現する「八進数エスケープシーケンス」が、現代のJavaScriptの特定の記述環境で禁止されているために発生します。

このエラーが発生する主な状況は二つあります。一つは、バッククォート(`)で囲む「テンプレートリテラル」内で、タグ付けされていない状態で八進数エスケープシーケンスを使用した場合です。もう一つは、'use strict'; と宣言された「厳格モード」のコード内でこの八進数エスケープシーケンスを使用した場合です。これらの環境では、コードの曖昧さや意図しない挙動を防ぐため、八進数エスケープシーケンスの使用が許可されていません。

このエラーを解消するためには、問題となっている八進数エスケープシーケンスを別の方法で記述する必要があります。例えば、数字を文字列として扱いたいのであれば、単純にクォーテーションで囲む ('0', '1') か、バックスラッシュ自体をエスケープして \\0 のように記述します。また、特定の文字コードを表現したい場合は、現代のJavaScriptで推奨されるUnicodeエスケープシーケンス(例: \u0000, \u0008)を使用することを検討してください。これにより、コードの可読性が向上し、互換性の問題も回避できます。

構文(syntax)

1const invalidString = `\07`;

引数(parameters)

引数なし

引数はありません

戻り値(return)

戻り値なし

戻り値はありません

関連コンテンツ

関連プログラミング言語