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
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
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
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 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
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. String.prototype.substr
ne 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.getPrototypeOf
andObject.setPrototypeOf
instead. 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.getOwnPropertyDescriptor
andObject.defineProperty
instead.
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
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.