Cette page liste les fonctionnalités de JavaScript qui sont dépréciées (deprecated) (c'est-à-dire que ces fonctionnalités sont toujours disponibles mais qu'il est prévu de les retirer) et les fonctionnalités obsolètes (celles qui ne sont plus utilisables).
Fonctionnalités dépréciées
Ces fonctionnalités dépréciées peuvent toujours être utilisées mais avec une grande attention car elles pourront être supprimées complètements à l'avenir. En règle général, il faut les retirer du code qui les utilise.
Propriétés de RegExp
Les propriétés suivantes sont dépréciées. Cela n'affecte pas le comportement de replace
lorsqu'on utilise une chaîne de caractères en paramètre de remplacement :
Propriété | Description |
---|---|
$1-$9 |
Les sous-chaînes correspondantes s'il y en a. |
$_ |
Voir input . |
$* |
Voir multiline . |
$& |
Voir lastMatch . |
$& |
Voir lastParen . |
$` |
Voir leftContext . |
$' |
Voir rightContext . |
input |
La chaîne par rapport à laquelle on recherche une correspondance grâce à l'expression rationnelle. |
lastMatch |
Les derniers caractères correspondants. |
lastParen |
La dernière sous-chaîne (groupe entre parenthèses) correspondante si elle existe. |
leftContext |
La sous-chaîne qui précède la correspondance la plus récente. |
rightContext |
La sous-chaîne qui suit la correspondance la plus récente. |
Les propriétés qui suivent sont désormais des propriétés des instances de RegExp
et ne sont plus des propriétés de l'objet RegExp
:
Propriété | Description |
---|---|
global |
Permet d'utiliser une expression rationnelle pour relever l'ensemble des correspondances ou uniquement la première. |
ignoreCase |
Définit si la casse doit être ignorée ou non lors de la recherche d'une correspondance. |
lastIndex |
L'index à partir duquel chercher la prochaine correspondance. |
multiline |
Définit si la recherche doit s'effectuer sur une seule ligne ou plusieurs. |
source |
Le texte du motif. |
Méthodes de RegExp
- La méthode
compile
est dépréciée. - La méthode
valueOf
n'est plus spécifiquement liée àRegExp
. UtilisezObject.valueOf()
.
Propriétés de Function
- Les propriétés
caller
etarguments
sont dépréciées car elles permettaient de fuiter l'appelant de la fonction. En lieu et place de la propriétéarguments
, c'est l'objetarguments
qui doit être utilisée (notamment dans les fermetures).
Générateur historique
L'instruction pour le générateur historique
etl'expression de fonction du générateur historique
sont dépréciées. Il faut utiliserL'instruction function*
etl'expression function*
à la place.Les compréhensions de tableaux JS1.7/JS1.8
etles compréhensions de générateurs JS1.7/JS1.8
sont dépréciées.
Itérateur
StopIteration
est déprécié.Iterator
est déprécié.
Méthode d'Object
watch
etunwatch
sont dépréciés. L'objetProxy
doit être utilisé à la place.__iterator__
est déprécié.__noSuchMethod__
est déprécié.Proxy
doit être utilisé à la place.
Méthodes de Date
getYear
etsetYear
sont impactés par le « bug de l'an 2000 » et ont été remplacés pargetFullYear
etsetFullYear
.toISOString
doit être utilisé à la place de la méthodetoGMTString
qui est dépréciée.toLocaleFormat
est dépréciée.
Fonctions
- Les expressions de fermetures sont dépréciées. Il faut utiliser
function
ou les fonctions fléchées à la place.
Proxy
- Proxy.create et Proxy.createFunction sont dépréciées. L'API
Proxy
doit être utilisée à la place. - Les trappes de captures suivantes sont obsolètes :
hasOwn
(bug 980565, Firefox 33).getEnumerablePropertyKeys
(bug 783829, Firefox 37)getOwnPropertyNames
(bug 1007334, Firefox 33)keys
(bug 1007334, Firefox 33)
Séquences d'échappement
- Les séquences d'échappement octales (\ suivi par un, deux ou trois chiffres octaux) sont dépréciées pour les chaînes de caractères et les littéraux d'expressions rationnelles.
- Les fonctions
escape
etunescape
sont dépréciées. Ce sont les méthodes et objetsencodeURI
,encodeURIComponent
,decodeURI
oudecodeURIComponent
qui doivent être utilisées pour encoder/décoder les séquences d'échappement des caractères spéciaux.
Méthodes de String
- Les méthodes d'enrobage HTML telles que
String.prototype.fontsize
etString.prototype.big
sont dépréciées. String.prototype.quote
a été retiré de Firefox 37.- Le paramètre non-standard
flags
deString.prototype.search
,String.prototype.match
, etString.prototype.replace
sont dépréciés.
Fonctionnalités obsolètes
Ces fonctionnalités sont obsolètes et ont intégralement été retirées de JavaScript. Elles ne peuvent plus être utilisées.
Object
Propriété | Description |
---|---|
__count__ |
Renvoie le nombre de propriétés énumérables d'un objet défini par l'utillisateur. |
__parent__ |
Pointe vers le contexte d'un objet. |
Object.prototype.eval() |
Évalue une chaine de caractères étant du code JavaScript, dans le contexte de l'objet indiqué. |
Object.observe() |
Observe les modifications apportées à un objet de façon asynchrone. |
Object.unobserve() |
Retire les observateurs ajoutés à un objet. |
Object.getNotifier() |
Crée un objet qui permet de déclencher un changement de façon synthétique. |
Function
Propriété | Description |
---|---|
arity |
Nombre d'arguments déclarés pour une fonction. |
Array
Propriété | Description |
---|---|
Array.observe() |
Observe les modifications apportées à un tableau de façon asynchrone. |
Array.unobserve() |
Retire les observateurs ajoutés à un tableau. |
Number
ParallelArray
Instructions
for each...in
, utiliserfor...of
à la place.for...in
, utiliserfor...of
à la place.- Les blocs et expressions
let
sont obsolètes.
E4X
Voir la page E4X pour plus d'informations.
Sharp variables
Voir la page sur les variables « Sharp » en JavaScript pour plus d'informations.