Liste des changements liés à JavaScript par version de Firefox

Cette page décrit les changements liés à JavaScript apportés aux différentes versions de Firefox.

Firefox 52

New features

Changes and removals

Voir aussi :

Firefox 51

Voir aussi :

Firefox 50

Voir aussi :

Firefox 49

Voir aussi :

Firefox 48

New APIs

Deprecations and removals

Voir aussi :

Firefox 47

Voir aussi :

Firefox 46

Voir aussi :

Firefox 45

Voir aussi :

Firefox 44

New APIs

Changes regarding the arguments object

Other changes

Voir aussi :

Firefox 43

New APIs

Changes regarding the arguments object

Other changes

Voir aussi :

Firefox 42

Voir aussi :

Firefox 41

Voir aussi :

Firefox 40

Voir aussi :

Firefox 39

Voir aussi :

Firefox 38

Voir aussi :

Firefox 37

Voir aussi :

Firefox 36

Voir aussi :

Firefox 35

  • La "temporal dead zone" pour les déclarations let a été implementée.  En conformité avec les sémantiques let ES6, les situations suivantes renvoyent des erreurs. Voir aussi cet annoncement de newsgroup and bug 1001090.
    • Redéclarer des variables existantes ou arguments utilisant let sans la même portée dans le corps de fonctions est maintenant une erreur de syntaxe.
    • Utiliser une variable déclarée en utilisant let dans le corps de fonctions avant la déclaration de cette variable est maintenant une erreur d'exécution.
  • ES6 Symbols (disponible uniquement dans Nightly) a été mis à jour pour être conforme avec les récents changements de spécification :
    • String(Symbol("1")) ne renvoie maintenant une TypeError; au lieu d'un string ("Symbol(1)") (bug 1058396).
    • Les divers constructeurs TypedArray ont maintenant comme [[Prototype]] une simple fonction, notée %TypedArray%  en ES6 (mais pas directement exposé).  Chaque prototype de tableau typé hérite maintenant de %TypedArray%.prototype.  (%TypedArray% et %TypedArray%.prototype hérite eux-mêmes de Function.prototype et Object.prototype, respectivement, ainsi ce constructeur et ces instances de tableau typé ont aussi les propriétés de ces objets.) Les propriétés des fonctions de tableau typés se trouvent maintenant sur %TypedArray%.prototype et fonctionnent sur tous les tableaux typés. Voir TypedArray et bug 896116 pour plus d'information.
  • Les semantiques ES6 pour les mutations de prototype utilisant les initialisateurs d'objet ont été implémentées (bug 1061853).
    • Maintenant un seul membre noté  __proto__:value peut changer le [[Prototype]] dans la syntaxe de l'initialisateur d'objet.
    • Les membres de méthode comme __proto__() {} ne réecrivent pas le [[Prototype]].

Voir aussi :

Firefox 34

Voir aussi :

Firefox 33

Voir aussi :

Firefox 32

Voir aussi :

Firefox 31

New ECMAScript 6 features implemented:

Voir aussi :

Firefox 30

Voir aussi :

Firefox 29

Voir aussi :

Firefox 28

Voir aussi :

Firefox 27

EcmaScript 6 (Harmony) implementation continues!

Voir aussi :

Firefox 26

EcmaScript 6 (Harmony) implementation continues!

Voir aussi :

Firefox 25

EcmaScript 6 (Harmony) implementation continues!

Voir aussi :

Firefox 24

Voir aussi :

Firefox 23

  • La méthode Object.defineProperty peut désormais être utilisée pour redéfinir la propriété length d'un objet Array.
  • L'option pour désactiver JavaScript, incluant les options pour permettre de déplacer une fenêtre/remplacer le menu contextuel, a été retirée. Vous pouvez toujours désactiver JavaScript en double-cliquant sur l'option "javascript.enabled" dans about:config.

Voir aussi :

Firefox 22

  • Les optimizations Asm.js sont activées, rendant possible la compilation d'applications C / C++ vers un sous-ensemble Javascript pour de meilleures performances.
  • La syntaxe ES6 Arrow Function a été implémentée (bug 846406).
  • La nouvelle fonction Object.is a été ajoutée (bug 839979).

Voir aussi :

Firefox 21

  • E4X, une ancienne extension JavaScript, a été retirée. Implementée seulement par Gecko, elle n'a jamais reçu suffisament de soutien (bug 788293).
  • parseInt ne traite plus les chaînes de caractères commençant par "0" comme un octal (bug 786135).

Voir aussi :

Firefox 20

  • Le support de la méthode Weakmap.prototype.clear(), récemment ajoutée au brouillon d'Harmony (EcmaScript 6), a été ajouté (bug 814562).
  • Le support de la méthode Math.imul(), une fonction de multiplication 32 bits de type C. Bien qu'elle soit proposée pour Harmony (EcmaScript 6), elle n'a pas encore été acceptée et reste non-standard (bug 808148).
  • Les applications Web utilisant le déplacement de texte grâce à Kinetic 3.x fonctionnent, même en utilisant le backend Cairo Canvas. (bug 835064)
  • L'instruction for each...in a été dépréciée et ne doit plus être utilisée. Pensez à utiliser la nouvelle instruction for...of (bug 804834).

Voir aussi :

Firefox 19

Voir aussi :

Firefox 18

Voir aussi :

Firefox 17

  • L'objet String offre à présent les méthodes d'Harmony startsWith, endsWith et contains. (bug 772733)
  • Les méthodes de String link et anchor échappent désormais à " (guillemet). (bug 352437)
  • Le support expérimental pour l'objet ParallelArray a été implémenté. (bug 778559)
  • Support des itérateurs Map/Set. (bug 725909)
  • E4X est désactivé par défaut pour le contenu Web. (bug 778851)
  • __exposedProps__ doit désormais être défini pour les objets JavaScript Chrome exposés au contenu. Les tentatives d'accès à des objets de contenu sans Chrome __exposedProps__ échoueront ensembles silencieusement. (bug 553102)

Voir aussi :

Firefox 16

Voir aussi :

Firefox 15

  • Le support de l'interface DataView a été ajouté à partir de la spécification des tableaux typés. Cela fournit un accès de bas niveau aux données contenues dans un ArrayBuffer.
  • Le support de Number.isNaN d'ECMAScript Harmony a été ajouté. (bug 749818, bug 761495, bug 761480)
  • Le support du paramètre default d'ECMAScript Harmony a été ajouté. (bug 757676)
  • Le support du paramètre rest d'ECMAScript Harmony a été ajouté. (bug 574132)

Voir aussi :

Firefox 14

Voir aussi :

Firefox 13

  • Le support pour la construction for..of de l'ECMAScript 6 a été ajouté.
  • Le support expérimental pour les objets ECMAScript 6 Map and Set a été ajouté.

Voir aussi :

Firefox 12

  • Le support des variables sharp (extension non-standard de Netscape) a été abandonné.

Voir aussi :

Firefox 11

Voir aussi :

Firefox 10

  • The method WeakMap.set() now returns undefined, instead of itself.
  • A bug was introduced in regular expression handling in Firefox 7; this has been fixed. See bug 683838 if you want the gory details.
  • You can no longer use E4X syntax while in ECMAScript 5 strict mode (that is, after "use strict;").

Voir aussi :

Firefox 9

Voir aussi :

Firefox 8

  • RegExp.exec() et RegExp.test() appelés sans arguments correspondent maintenant à la chaîne "undefined".
  • String.search() et String.match() appelés sans arguments ou undefined correspondent désormais à une chaîne vide et correspondent donc à chaque chaîne.
  • Le support des listes de surveillance a été implémenté avec les nouvelles mtéhodes (non standards) watch() et unwatch().

Voir aussi :

Firefox 7

Voir aussi :

Firefox 6

  • Avant, il était possible d'utiliser l'opérateur new sur plusieurs fonctions natives (eval, parseInt, Date.parse, etc) ce qui, conformément à la spécification, n'était pas autorisé. Désormais ce comportement n'est plus supporté. Cette façon d'utiliser l'opérateur new n'a jamais été officiellement supportée et était peu utilisée, donc il est peu probable que ce changement vous affecte.
  • ECMAScript Harmony WeakMaps a été ajouté en tant que prototype.

Voir aussi :

Firefox 5

  • Les expressions régulières ne sont plus appelable comme si il s'agissait de fonctions, ce changement a été fait de concert avec l'équipe de WebKit afin d'assurer la compatibilité (voir WebKit bug 28285. Cette fonctionnalité existait depuis longtemps déjà mais n'a jamais été documentée (du moins, pas sur MDN).
  • La méthode Function.prototype.isGenerator() est désormais supportée, ce qui vous permet de déterminer si une fonction est génératrice.
  • Les mots suivants ont été réservés : class, enum, export, extends, import et super. Auparavant, ils étaient uniquement considérés comme réservés en mode strict.
  • Les documents DOM crées dans le chrome ne peuvent plus être exposés à des scripts en sandbox.
  • Le parser JSON a été ré-écrit pour améliorer la vitesse et la conformité. Ce qui inclut un correctif pour le bug 572279.

Voir aussi :

Versions antérieures

Pour les versions antérieures à Firefox 5, voir la page concernant l'historique JavaScript.

 

Étiquettes et contributeurs liés au document

Étiquettes : 
Contributeurs à cette page : SphinxKnight, fscholz
Dernière mise à jour par : SphinxKnight,