SyntaxError: "0"-prefixed octal literals and octal escape seq. are deprecated

メッセージ

SyntaxError:
"0"-prefixed octal literals and octal escape sequences are deprecated;
for octal literals use the \"0o\" prefix instead

エラータイプ

何がうまくいかなかったのか?

8 進文字と 8 進エスケープシーケンスは非推奨で、strict モードでは SyntaxError をスローします。ECMAScript 2015 以降では、標準文法として 0 から始まり大文字、または小文字のラテン文字 "O" (0o or 0O) が続く文法を使用します。

"0" 接頭辞付きの 8 進文字

js
"use strict";

03;

// SyntaxError: "0"-prefixed octal literals and octal escape sequences
// are deprecated

8 進エスケープシーケンス

js
"use strict";

"\251";

// SyntaxError: "0"-prefixed octal literals and octal escape sequences
// are deprecated

有効な 8 進数

0 に "o" か "O" が続くものを使用します:

js
0o3;

8 進エスケープシーケンスの代わりに、16 進エスケープシーケンスを使用できます:

js
"\xA9";

関連項目