Archives mensuelles : décembre 2011

Le « core » JavaScript s’enrichit de nouvelles méthodes.

C’est une information qui est, il me semble, passée relativement inaperçue mais qui est selon moi assez intéressante à souligner.
Le noyau JavaScript, qui était resté longtemps figé, s’est enrichi avec les dernières versions des navigateurs, de nouvelles méthodes bien utiles.

Pour rappel, le noyau JavaScript (aussi appelé core JavaScript), par opposition au DOM JavaScript (ou JavaScript côté client) regroupe les objets natifs de JavaScript et surtout, la partie censée être commune à toutes ses variations.
Il regroupe en particulier les objets natifs Array et String qui ont vu leur prototype amélioré.
Il est à noter que ces ajouts sont aussi disponibles (sauf mention contraire) dans Internet Explorer depuis la version 9.

  • L’objet Array

La méthode every()
Cette méthode permet d’appliquer à tous les membres du tableau une fonction de rappel afin de savoir si tous les éléments du tableau remplissent une condition.
Syntaxe
Array.every(callback, thisObjet);
Exemple

function isImpair(nb){
    return nb & 1;
}
alert([1,5,17,89].every(isImpair));
alert([1,5,17,89, 100].every(isImpair));

La méthode filter()

Comme son nom l’indique, cette méthode permet de filtrer les éléments d’un tableau selon le résultat renvoyé par une fonction de rappel.
Syntaxe
Array.filter(callback, thisObjet);
Exemple

function isInferieurADix(nb){
    return nb < 10;
}
alert([2,5,6,8,10,11].filter(isInferieurADix));

La méthode forEach()
Cette méthode permet d’appliquer un traitement à chaque élément du tableau.
Syntaxe
Array.forEach(callback, thisObjet);
Exemple

var tab = ['a','b','c','d','e'],
    resultat = '',
    i = 0;
function arrayToString(){
    resultat += 'Rang '+i+'\t\tvaleur : '+this[i]+'\n';
    i++;
}
tab.forEach(arrayToString, tab);
alert(resultat);

La méthode map()
La méthode map() va appliquer à chaque élément du tableau le traitement de la fonction de rappel.La méthode map()
Syntaxe
Array.map(callback, thisObjet);
Exemple

var tab = ['a','b','c','d','e'];
function double(val){
    return val + val;
}
alert(tab.map(double));

La méthode some()
Similaire à la méthode every(), cette méthode va vérifier si au moins un des éléments du tableau est valide selon le résultat renvoyé par la fonction de rappel.
Syntaxe
Array.some(callback, thisObjet);
Exemple

function isInferieurADix(nb){
    return nb < 10;
}
alert([10,20,30,40,50].some(isInferieurADix));
alert([5,10,20,30,40,50].some(isInferieurADix));
  • L’objet String

Ces méthodes renvoient la nouvelle chaîne mais ne modifient pas celle d’origine.

La méthode trim()
Supprime tous les caractères d’espacement en début et fin de chaîne.
Syntaxe
String.trim();
Exemple

var str = '\tTest ';
var strTrimmed = str.trim();
alert('!'+str+'!\n!'+strTrimmed+'!');

La méthode trimRight()
Supprime les espacements en fin de chaîne.
Syntaxe
String.trimRight();
Exemple

var str = '\tTest ';
var strTrimmed = str.trimRight();
alert('!'+str+'!\n!'+strTrimmed+'!');

La méthode trimLeft()
Supprime les espacements en début de chaîne.
Attention : étonnamment, cette méthode n’est pas (encore) disponible pour Internet Explorer et Opera…
Syntaxe
String.trimLeft();
Exemple

var str = '\tTest ';
var strTrimmed = str.trimLeft();
alert('!'+str+'!\n!'+strTrimmed+'!');

À noter aussi, pour l’objet Date, l’apparition de la méthode toISOString().