Mes impressions sur le web, les standards et autres…


Samedi 10 septembre 2005

Nouveautés dans JavaScript 1.6

Parmi les nouveautés qu’apporte Firefox 1.5, il en est une que j’ai bètement passé sous silence dans le billet Nouveautés dans Firefox 1.5 : Le passage de JavaScript en version 1.6, imposé par l’arrivée de certaines nouveautés. Rappelé à l’ordre par Benoit, me voilà contraint de détailler dans ce billet les nouveautés en question ;¬)

ECMAScript for XML

De son petit nom, E4X. E4X est standardisé par l’Ecma sous l’appellation ECMA-357 et ajoute un support natif du XML dans l’ECMAScript (la version normalisée du cœur de JavaScript). Grâce à une syntaxe simple et intuitive, E4X se veut une alternative crédible aux méthodes DOM classiques d’accés à un document XML. Quelques exemples :

var xmlObject = new XML("<items>
    <item val="attrVal">essai1</item>
    <item>essai2</item>
    <item>essai3</item>
  </items>");

alert(xmlObject.text()); // affiche essai1 essai2 essai3 (avec les sauts de ligne et indentation)

var itemList = xmlObject.item;
alert(itemList); /* affiche 
  <item val="attrVal">essai1</item>
  <item>essai2</item>
  <item>essai3</item> */

alert(itemList.length); // affiche 3
alert(itemList[0].@val); // affiche attrVal

// Utiliser E4X en conjonction avec le DOM ? C’est possible !
xmlObject = new XML(document); // ou n’importe quel autre nœud DOM

Ce ne sont que de brefs exemples. Consultez les liens suivants pour en savoir plus :

Méthodes sur les objets Array

De nouvelles méthodes font leur apparition sur les tableaux JavaScript. Les méthodes indexOf() et lastIndexOf() sur un tableau permettent désormais de récupérer l’index d’une valeur donnée, éventuellement en partant d’un index donné. Exemples :

var aColors = ["rouge", "bleu", "vert", "orange", "violet", "vert", "marron"];
alert(aColors.indexOf("vert")); // affiche 2
alert(aColors.lastIndexOf("vert")); // affiche 5

// En spécifiant un index de départ

alert(aColors.indexOf("vert", 3)); // affiche 5
alert(aColors.lastIndexOf("vert", 4)); // affiche 2

alert(aColors.indexOf("blanc")); // affiche -1, cette valeur n’est pas présente dans le tableau

Cinq méthodes sont maintenant utilisables pour appeler une fonction sur chaque entrée d’un tableau.

every(callback[, thisObject])
Applique la fonction callback sur chaque entrée du tableau et renvoie true si la fonction callback a renvoyé true pour chaque entrée
filter(callback[, thisObject])
Applique la fonction callback sur chaque entrée du tableau et renvoie un tableau contenant les entrées pour lesquelles la fonction callback a renvoyé true
forEach(callback[, thisObject])
Applique la fonction callback sur chaque entrée du tableau
map(callback[, thisObject])
Idem que forEach(), mais la fonction callback est appliquée sur une copie du tableau, la-dite copie étant ensuite retournée par map()
some(callback[, thisObject])
Idem que la méthode every() sauf que cette méthode renvoie true si la fonction callback a renvoyé true pour au moins une des entrées du tableau

Consultez les liens suivants pour plus de détails :

Il y a aussi une section Array and String generics dans la page New in JavaScript 1.6 mais vide pour l’instant. Je complèterai donc ce billet ultérieurement.

Publié à 22h07

Catégorie :

Vos réactions, opinions, insultes…

Rétroliens

Faire un rétrolien sur ce billet : [xxxxxxxx]

Commentaires

Auteur : Benoit • #1

Attention, je prends petit à petit le contrôle éditorial de ton blog :)

11 septembre 2005 à 21h30
Auteur : soloSite#2

Merci de nous tenir au courant :D

12 septembre 2005 à 9h39
Un ch’tit biscuit ?
  • Les champs email et site sont facultatifs
  • Les URLs commençant par [protocole]://[protocole] correspond à http, https, news, irc, ftp, … sont rendues activables automatiquement. Votre adresse email ainsi que d’éventuelles adresses email présentes dans le corps du commentaire sont également rendues activables et encodées pour tromper les aspirateurs d’adresse email.
  • Pour spécifier une URL locale au site, vous pouvez utiliser local comme protocole à mettre à la place de http et omettre le nom de domaine dans l’URL.
    Exemple : local://2005/08/22/Nom-de-billet/.
  • Usez et abusez de la possibilité de prévisualiser votre commentaire pour vérifier qu’il est correctement rédigé et contient le moins possible de fautes d’orthographe. Évitez en outre le style SMS, merci d’avance. Prévisualiser votre commentaire peut également vous permettre de voir si de nouveaux commentaires sont apparus entre temps.
  • Si vous spécifiez l’adresse de votre site dans le champs texte prévu à cet effet, le script se chargera automatiquement d’aller récupérer sur votre site la langue utilisée dans vos pages, soit via l’en-tête HTTP Content-Language, soit en récupérant le contenu de l’attribut xml:lang ou lang sur l’élément html. Vous n’avez indiqué d’aucune façon la langue utilisée dans vos pages ? Corrigez ça nom di diou !
  • Des options de mise en forme des commentaires feront peut-être un jour leur apparition.


Site créé et maintenu par Aurélien Maille aka Bobe. Toutes les heures sont au format CEST.
Revenir à l’accueil – Zone de développement – Informations et accessibilité – CC licensed CC Licensed