blob: 9b9b9c92f61169474ae90f8ac01023dd866b7908 (
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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
|
---
title: 'SyntaxError: "0"-prefixed octal literals and octal escape seq. are deprecated'
slug: Web/JavaScript/Reference/Errors/Deprecated_octal
tags:
- Erreurs
- JavaScript
- Mode strict
- SyntaxError
translation_of: Web/JavaScript/Reference/Errors/Deprecated_octal
original_slug: Web/JavaScript/Reference/Erreurs/Deprecated_octal
---
{{jsSidebar("Errors")}}
## 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
## Type d'erreur
{{jsxref("SyntaxError")}}, uniquement en [mode strict](/fr/docs/Web/JavaScript/Reference/Strict_mode).
## 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 {{jsxref("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 example-bad
"use strict";
03;
// SyntaxError: "0"-prefixed octal literals and octal escape sequences
// are deprecated
```
### Séquences d'échappement en base octale
```js example-bad
"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 example-good
0o3;
```
Pour former une séquence d'échappement en base octale, on écrira une séquence d'échappement en base hexadécimale :
```js example-good
'\xA9';
```
## Voir aussi
- [La grammaire lexicale JavaScript](/fr/docs/Web/JavaScript/Reference/Grammaire_lexicale#Octaux)
- [Warning: 08/09 is not a legal ECMA-262 octal constant](/fr/docs/Web/JavaScript/Reference/Erreurs/Bad_octal)
|