aboutsummaryrefslogtreecommitdiff
path: root/files/fr/web/javascript/reference/errors/bad_octal/index.md
blob: eeea43f7aceb7af2aef9bce495d3c18c983d8b7f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
---
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
---
{{jsSidebar("Errors")}}

## Message

    Warning: SyntaxError: 08 is not a legal ECMA-262 octal constant.
    Warning: SyntaxError: 09 is not a legal ECMA-262 octal constant.

## Type d'erreur

Un avertissement, l'exécution du script JavaScript ne sera pas interrompue.

## Quel est le problème ?

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](/fr/docs/Web/JavaScript/Reference/Grammaire_lexicale#Octaux).

## Exemples

### Nombres invalides en notation octale

```js example-bad
08;
09;
// SyntaxError: 08 is not a legal ECMA-262 octal constant
// SyntaxError: "0"-prefixed octal literals and octal escape sequences are deprecated
```

### Nombres valides en notation octale

On utilisera un zéro suivi de la lettre « o » pour indiquer un nombre exprimé en notation octale :

```js example-good
0O755;
0o644;
```

## Voir aussi

- [La grammaire lexicale de JavaScript](/fr/docs/Web/JavaScript/Reference/Grammaire_lexicale#Octaux)
- [SyntaxError: "0"-prefixed octal literals and octal escape seq. are deprecated](/fr/docs/Web/JavaScript/Reference/Errors/Deprecated_octal)