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

No change.

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

  • The "temporal dead zone" for let declarations has been implemented. In conformance with ES6 let semantics, the following situations
    now throw errors. See also this newsgroup announcement and bug 1001090.
    • Redeclaring existing variables or arguments using let within the same scope in function bodies is now a syntax error.
    • Using a variable declared using let in function bodies before the declaration is reached and evaluated is now a runtime error.
  • ES6 Symbols (only available in the Nightly channel) have been updated to conform with recent specification changes:
    • String(Symbol("1")) now no longer throws a TypeError; instead a string ("Symbol(1)") gets returned (bug 1058396).
  • The various TypedArray constructors now have as their [[Prototype]] a single function, denoted %TypedArray%  in ES6 (but otherwise not directly exposed).  Each typed array prototype now inherits from %TypedArray%.prototype.  (%TypedArray% and %TypedArray%.prototype inherit from Function.prototype and Object.prototype, respectively, so that typed array constructors and instances still have the properties found on those objects.)  Typed array function properties now reside on %TypedArray%.prototype and work on any typed array.  See TypedArray and bug 896116 for more information.
  • ES6 semantics for prototype mutations using object literals have been implemented (bug 1061853).
    • Now only a single member notated as __proto__:value will mutate the [[Prototype]] in the object literal syntax.
    • Method members like __proto__() {} will not overwrite the [[Prototype]] anymore.

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

  • La méthode WeakMap.set() retourne désormais undefined, au lieu de lui-même.
  • Un bug a été introduit dans le traitement des expressions régulières dans Firefox 7, il a été corrigé. Voir le bug 683838.
  • Vous ne pouvez plus utiliser E4X en mode strict de l'ECMAScript 5.

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,