JavaScript 1.8.5 est la version de JavaScript incluse dans Firefox 4.
Nouvelles fonctions
Fonction | Description |
---|---|
Object.create |
Crée un nouvel objet avec l'objet prototype et les propriétés fournies. bug 492840 |
Object.defineProperty |
Ajoute une propriété nommée et avec un descripteur à un objet. |
Object.defineProperties |
Ajoute des propriétés nommées et avec descripteurs à un object. |
Object.getOwnPropertyDescriptor |
Renvoie un descripteur de propriété d'une propriété nommée ou d'un objet. bug 505587 |
Object.keys |
Renvoie un tableau avec toutes les propriétés énumérables d'un objet. bug 307791 |
Object.getOwnPropertyNames |
Renvoie un tableau avec toutes les propriétés (énumérables et non énumérables) d'un objet. bug 518663 |
Object.preventExtensions |
Empêche l'ajout de nouvelles propriétés à un objet. bug 492849 |
Object.isExtensible |
Détermine s'il est possible d'étendre un objet. bug 492849 |
Object.seal |
Empêche la suppression de propriétés d'un objet par un autre code. bug 492845 |
Object.isSealed |
Détermine si un objet est scellé. bug 492845 |
Object.freeze |
« Gèle » un objet : un code externe ne peut pas supprimer ou changer des propriétés bug 492844 |
Object.isFrozen |
Détermine si un objet a été gelé. bug 492844 |
Array.isArray |
Vérifie si une variable est un tableau. bug 510537 |
Date.toJSON |
Renvoie une chaîne de caractères JSON depuis un objet Date . |
Function.prototype.bind |
Crée une nouvelle fonction qui, lorsqu'elle est appelée, appelle elle-même cette fonction dans le contexte fournie (avec une séquence d'arguments) bug 429507 |
Nouvelles fonctionnalités ECMAScript5
- Les opérateurs
get
etset
permettent désormais à l'identifiant d'être une chaîne ou un nombre. bug 520696 Function.apply()
accepte désormais les objets analogues à des tableaux et non plus seulement des tableaux- Support du mode strict
Array.toString()
fonctionne désormais sur les objets qui ne sont pas des tableaux en renvoyant le résultat de sa méthodejoin()
si une existe ou bien en appelant sa méthodetoString()
.
Avancées de standardisation
Les diverses syntaxes non-standard utilisées pour définir les getters et les setters ont été retirées. La syntaxe définie dans ECMAScript 5 n'a pas été changée. Ces syntaxes étaient assez obscures et rarement utilisées : si vous pensez être concerné, veuillez lire cet article de blog (anglais) pour plus de détails.
Nouveaux objets
Objet | Description |
---|---|
Proxy |
Offre un support pour la création de proxies d'Object et Function permettant la méta-programmation en JavaScript. |
Changements apportés aux objets globaux
-
ISO 8601 est supporté pour l'objet
Date
-
La méthode
parse()
de l'objetDate
supporte désormais les chaînes de date au format ISO 8601. - Les objets globaux sont en lecture seule
-
Les objets globaux
NaN
,Infinity
, etundefined
ont été passés en lecture seule afin de respecter la spécification ECMAScript5.
Changements supplémentaires
obj.__parent__
etobj.__count__
deviennent obsolètes. Voici des informations à ce sujet : SpiderMonkey change du jour: the special __parent__ property has been removed (anglais) bug 551529 & bug 552560.- Les virgules en fin de chaines ne sont plus acceptées par la méthode
JSON.parse()
.
Changements sur l'API JavaScript (SpiderMonkey)
Note : Les callbacks de locale (spécifiés dans la structure JSLocaleCallbacks) ne devraient pas libérer le buffer mémoire qui leur est passé : ce buffer est géré lors de l'exécution de SpiderMonkey.
La fonction JS_NewString()
a été retirée de SpiderMonkey 1.8.5. Il faut utiliser la fonction JS_NewStringCopyN()
à la place.
Étiquettes et contributeurs liés au document
Contributeurs ayant participé à cette page : teoli, SphinxKnight
Dernière mise à jour par :
teoli,