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
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
|
---
title: unescape()
slug: Web/JavaScript/Reference/Objets_globaux/unescape
tags:
- Déprécié
- JavaScript
translation_of: Web/JavaScript/Reference/Global_Objects/unescape
---
<div>{{jsSidebar("Objects")}}</div>
<div class="warning"><strong>Attention !</strong> Bien que <code>unescape(…)</code> ne soit pas strictement obsolète (au sens où elle n'a pas été retirée des standards), elle est définie au sein de <a href="https://www.ecma-international.org/ecma-262/9.0/index.html#sec-additional-ecmascript-features-for-web-browsers">l'Annexe B</a> du standard ECMA-262 qui commence par :
<blockquote>… L'ensemble des fonctionnalités et comportements définis dans cette annexe possède une ou plusieurs caractéristiques indésirables. En l'absence d'une utilisation historique, ces fonctionnalités seraient retirés de la spécification. …<br>
… Les développeurs ne devraient pas utiliser ces fonctionnalités et comportements ou présupposer qu'elles existent lors de l'écriture de nouveau code ECMAScript. …</blockquote>
</div>
<p>La fonction dépréciée <code><strong>unescape()</strong></code> calcule une nouvelle chaîne de caractères et remplace les séquences d'échappement hexadécimales par les caractères qu'elles représentent. Les séquences d'échappement peuvent provenir de la fonction {{jsxref("escape")}}. Cette méthode est obsolète, c'est pourquoi il est conseillé d'utiliser {{jsxref("decodeURI")}} ou {{jsxref("decodeURIComponent")}} à la place.</p>
<div class="note"><strong>Note : </strong><code>unescape()</code> ne doit pas être utilisée pour décoder les URI. À la place, utilisez <code>decodeURI</code>.</div>
<h2 id="Syntaxe">Syntaxe</h2>
<pre class="syntaxbox">unescape(<var>str</var>)</pre>
<h3 id="Paramètres">Paramètres</h3>
<dl>
<dt><code>str</code></dt>
<dd>La chaîne de caractères à décoder.</dd>
</dl>
<h3 id="Valeur_de_retour">Valeur de retour</h3>
<p>Une nouvelle chaîne de caractères dont les caractères ont été décodés.</p>
<h2 id="Description">Description</h2>
<p>La fonction <code>unescape</code> est une propriété de l'<em>objet global</em>.</p>
<h2 id="Exemples">Exemples</h2>
<pre class="brush: js">unescape("abc123"); // "abc123"
unescape("%E4%F6%FC"); // "äöü"
unescape("%u0107"); // "ć"
</pre>
<h2 id="Spécifications">Spécifications</h2>
<table class="standard-table">
<tbody>
<tr>
<th scope="col">Spécification</th>
<th scope="col">État</th>
<th scope="col">Commentaires</th>
</tr>
<tr>
<td>{{SpecName('ESDraft', '#sec-unescape-string', 'unescape')}}</td>
<td>{{Spec2('ESDraft')}}</td>
<td>Définie dans l'annexe B (normative) pour les fonctionnalités additionnelles d'ECMAScript pour les navigateurs Web.</td>
</tr>
<tr>
<td>{{SpecName('ES6', '#sec-unescape-string', 'unescape')}}</td>
<td>{{Spec2('ES6')}}</td>
<td>Définie dans l'annexe B (normative) pour les fonctionnalités additionnelles d'ECMAScript pour les navigateurs Web.</td>
</tr>
<tr>
<td>{{SpecName('ES5.1', '#sec-B.2.2', 'unescape')}}</td>
<td>{{Spec2('ES5.1')}}</td>
<td>Définie dans l'annexe B (informative) sur la compatibilité.</td>
</tr>
<tr>
<td>{{SpecName('ES1', '#sec-15.1.2.5', 'unescape')}}</td>
<td>{{Spec2('ES1')}}</td>
<td>Définition initiale</td>
</tr>
</tbody>
</table>
<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2>
<div class="hidden">Ce tableau de compatibilité a été généré à partir de données structurées. Si vous souhaitez contribuer à ces données, n'hésitez pas à envoyer une <em>pull request</em> sur <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a>.</div>
<p>{{Compat("javascript.builtins.unescape")}}</p>
<h2 id="Voir_aussi">Voir aussi</h2>
<ul>
<li>{{jsxref("decodeURI")}}</li>
<li>{{jsxref("decodeURIComponent")}}</li>
<li>{{jsxref("escape")}}</li>
</ul>
|