blob: 4b14545161d33946e75d77044e6724fa4c23b1a6 (
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
---
<div>{{jsSidebar("Errors")}}</div>
<h2 id="Message">Message</h2>
<pre class="syntaxbox">Warning: SyntaxError: 08 is not a legal ECMA-262 octal constant.
Warning: SyntaxError: 09 is not a legal ECMA-262 octal constant.
</pre>
<h2 id="Type_d'erreur">Type d'erreur</h2>
<p>Un avertissement, l'exécution du script JavaScript ne sera pas interrompue.</p>
<h2 id="Quel_est_le_problème">Quel est le problème ?</h2>
<p>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 <code>08</code> et <code>09</code> et JavaScript produit un avertissement.</p>
<p>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 ((<code>0o</code> ou <code>0O)</code>. Pour plus d'informations à ce sujet, voir la page sur <a href="/fr/docs/Web/JavaScript/Reference/Grammaire_lexicale#Octaux">la grammaire lexicale JavaScript</a>.</p>
<h2 id="Exemples">Exemples</h2>
<h3 id="Nombres_invalides_en_notation_octale">Nombres invalides en notation octale</h3>
<pre class="brush: 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</pre>
<h3 id="Nombres_valides_en_notation_octale">Nombres valides en notation octale</h3>
<p>On utilisera un zéro suivi de la lettre « o » pour indiquer un nombre exprimé en notation octale :</p>
<pre class="brush: js example-good">0O755;
0o644;
</pre>
<h2 id="Voir_aussi">Voir aussi</h2>
<ul>
<li><a href="/fr/docs/Web/JavaScript/Reference/Grammaire_lexicale#Octaux">La grammaire lexicale de JavaScript</a></li>
<li><a href="/fr/docs/Web/JavaScript/Reference/Errors/Deprecated_octal">SyntaxError: "0"-prefixed octal literals and octal escape seq. are deprecated</a></li>
</ul>
|