--- title: 'SyntaxError: "x" is not a legal ECMA-262 octal constant' slug: Web/JavaScript/Reference/Errors/Bad_octal tags: - Erreurs - JavaScript - Mode strict - Reference - SyntaxError translation_of: Web/JavaScript/Reference/Errors/Bad_octal original_slug: Web/JavaScript/Reference/Erreurs/Bad_octal ---
Warning: SyntaxError: 08 is not a legal ECMA-262 octal constant. Warning: SyntaxError: 09 is not a legal ECMA-262 octal constant.
Un avertissement, l'exécution du script JavaScript ne sera pas interrompue.
Les littéraux de nombres décimaux peuvent démarrer par un zéro suivi d'un autre chiffre. Si tous les chiffres après le 0 de tête sont inférieurs à 8, le nombre est interprété comme un nombre en notation octale. Or, cela ne peut pas être le cas avec 08
et 09
et JavaScript produit un avertissement.
Les littéraux en notation octale et les séquences d'échappement octales sont désormais dépréciées (il y a aura donc un avertissement complémentaire sur la dépréciation de ces notations). Avec ECMAScript 6 et les versions ultérieures, la syntaxe utilise un zéro initial, suivi de la lettre latine « o » en majuscule ou en minuscule ((0o
ou 0O)
. Pour plus d'informations à ce sujet, voir la page sur la grammaire lexicale JavaScript.
08; 09; // SyntaxError: 08 is not a legal ECMA-262 octal constant // SyntaxError: "0"-prefixed octal literals and octal escape sequences are deprecated
On utilisera un zéro suivi de la lettre « o » pour indiquer un nombre exprimé en notation octale :
0O755; 0o644;