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

Our volunteers haven't translated this article into عربي yet. Join us and help get the job done!
You can also read the article in English (US).

Message

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

Error type

SyntaxError in strict mode only.

What went wrong?

Octal literals and octal escape sequences are deprecated and will throw a SyntaxError in strict mode. With ECMAScript 2015 and later, the standardized syntax uses a leading zero followed by a lowercase or uppercase Latin letter "O" (0o or 0O).

Examples

"0"-prefixed octal literals

"use strict";

03;

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

Octal escape sequences

"use strict";

"\251";

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

Valid octal numbers

Use a leading zero followed by the letter "o" or "O":

0o3;

For octal escape sequences, you can use hexadecimal escape sequences instead:

'\xA9';

See also

Document Tags and Contributors

 Contributors to this page: fscholz
 Last updated by: fscholz,