← 返回首页
SyntaxError: "0"-prefixed octal literals and octal escape seq. are deprecated - JavaScript | MDN

Cette page a été traduite à partir de l'anglais par la communauté. Vous pouvez contribuer en rejoignant la communauté francophone sur MDN Web Docs.

View in English Always switch to English

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

Message

SyntaxError: Octal numeric literals and escape characters not allowed in strict mode (Edge) SyntaxError: "0"-prefixed octal literals and octal escape sequences are deprecated; for octal literals use the "0o" prefix instead

Dans cet article

Type d'erreur

SyntaxError, uniquement en mode strict.

Quel est le problème ?

Les littéraux en base octale et les séquences d'échappement octales sont dépréciées et lèvent une exception SyntaxError en mode strict. À partir d'ECMAScript 2015, la syntaxe standard utilise un zéro suivi de la lettre « o » (en minuscule ou en majuscule) (0o or 0O).

Exemples

Littéraux en base octale préfixés par 0

js
"use strict"; 03; // SyntaxError: "0"-prefixed octal literals and octal escape sequences // are deprecated

Séquences d'échappement en base octale

js
"use strict"; "\251"; // SyntaxError: "0"-prefixed octal literals and octal escape sequences // are deprecated

Littéraux valides

Pour former un littéral en base octal, on pourra utiliser un zéro suivi de la lettre « o » :

js
0o3;

Pour former une séquence d'échappement en base octale, on écrira une séquence d'échappement en base hexadécimale :

js
"\xA9";

Voir aussi