Fonctionnalités dépréciées
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
compileest dépréciée. - La méthode
valueOfn'est plus spécifiquement liée àRegExp. UtilisezObject.valueOf().
Propriétés de Function
Générateur historique
L'instruction pour le générateur historiqueetl'expression de fonction du générateur historiquesont dépréciées. Il faut utiliserL'instruction function*etl'expression function*à la place.Les compréhensions de tableaux JS1.7/JS1.8etles compréhensions de générateurs JS1.7/JS1.8sont dépréciées.
Itérateur
StopIterationest déprécié.Iteratorest déprécié.
Méthode d'Object
Méthodes de Date
getYearetsetYearsont impactés par le « bug de l'an 2000 » et ont été remplacés pargetFullYearetsetFullYear.toISOStringdoit être utilisé à la place de la méthodetoGMTStringqui est dépréciée.toLocaleFormatest dépréciée.
Fonctions
- Les expressions de fermetures sont dépréciées. Il faut utiliser
functionou les fonctions fléchées à la place.
Proxy
- Proxy.create et Proxy.createFunction sont dépréciées. L'API
Proxydoit être utilisée à la place. - Les trappes de captures suivantes sont obsolètes :
hasOwn(bug Firefox 980565, Firefox 33).getEnumerablePropertyKeys(bug Firefox 783829, Firefox 37)getOwnPropertyNames(bug Firefox 1007334, Firefox 33)keys(bug Firefox 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
escapeetunescapesont dépréciées. Ce sont les méthodes et objetsencodeURI,encodeURIComponent,decodeURIoudecodeURIComponentqui 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.fontsizeetString.prototype.bigsont dépréciées. String.prototype.quotea été retiré de Firefox 37.- Le paramètre non-standard
flagsdeString.prototype.search,String.prototype.match, etString.prototype.replacesont dépréciés. String.prototype.substrne sera sans doute pas retiré prochainement mais il est défini dans l'annexe B du standard ECMA-262 dont l'introduction précise clairement que « les développeurs ne devraient pass utiliser ou présupposer l'existence de ces fonctionnalités et de ces comportements lors de l'écriture de nouveau code ECMAScript ».
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
- The
Object.prototype.__proto__accessors are deprecated. UseObject.getPrototypeOfandObject.setPrototypeOfinstead. This does not apply to the__proto__literal key in object literals. - The
Object.prototype.__defineGetter__,Object.prototype.__defineSetter__,Object.prototype.__lookupGetter__, andObject.prototype.__lookupSetter__methods are deprecated. UseObject.getOwnPropertyDescriptorandObject.definePropertyinstead.
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.- La décomposition de variables dans
for...in, utiliserfor...ofà la place. - Les blocs et expressions
letsont 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.