Cette page présente le journal des modifications (changelog) pour JavaScript 1.8.5. Cette version de Javascript a été introduite dans Firefox 4.
Nouvelles fonctionnalités dans JavaScript 1.8.5
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 des 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.prototype.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 fourni (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.prototype.apply()
accepte désormais les objets analogues à des tableaux et non plus seulement des tableauxSupport du mode strict
Array.prototype.toString()
fonctionne désormais sur les objets qui ne sont pas des tableaux en renvoyant le résultat de sa méthodejoin()
si elle 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 par JavaScript 1.8.5
- ISO 8601 est supporté pour l'objet
Date
: La méthodeparse()
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. Object.prototype.__parent__
etObject.prototype.__count__
deviennent obsolètes. Pour plus d'informations à ce sujet vous pouvez consulter les pages suivantes (<em>en anglais</em>) : SpiderMonkey change du jour: the special __parent__ property has been removed (anglais), bug 551529 et bug 552560.- Les virgules en fin de chaines ne sont plus acceptées par la méthode
JSON.parse()
.