Les Types de Référence en JavaScript pour Développeurs Avancés

  1. Le Type Object

Il existe plusieurs façons de créer des objets en JavaScript. La méthode littérale et le constructeur sont couramment utilisés.


let individu = {};

Création avec le constructeur Object :


let utilisateur = new Object();
utilisateur.identifiant = "administrateur";

Utilisation de la syntaxe JSON pour initialiser un objet :


let profil = {
    nom: "admin",
    age: 25
};

Passer un objet en tant qu'argument à une fonction :


function afficherDonnees(pers) {
    alert(pers.nom);
}
afficherDonnees({nom: "admin", age: 15});

  1. Le Type Array

Les tableaux peuvent être initialisés de différentes manières, y compris avec le constructeur ou la syntaxe littérale.


let liste1 = new Array(1, "b", 3, 5);
let liste2 = [1, "b", 3, 5];
let liste3 = [];

Pour vérifier si une valeur est un tableau, deux méthodes sont disponibles :


if (val instanceof Array) {
    // traiter comme un tableau
}
if (Array.isArray(val)) {
    // traiter comme un tableau
}

Convertir un tableau en chaîne de caractères :


let individus = ["B", 32];
individus.toString(); // B,32

let teintes = ["rouge", "bleu"];
teintes.join(";"); // rouge;bleu

Méthodes de pile (LIFO) : push() ajoute des éléments à la fin et retourne la nouvelle longueur, pop() supprime et retourne le dernier élément.


let couleurs = new Array();
let nb = couleurs.push("rouge", "vert"); // ajoute deux éléments
alert(nb); // 2

nb = couleurs.push("marron"); // ajoute un élément
alert(nb); // 3

let dernier = couleurs.pop(); // supprime et retourne le dernier élément
alert(dernier); // marron
alert(couleurs.length); // 2

Méthodes de file (FIFO) : shift() retire le premier élément, unshift() ajoute des éléments au début.


let liste = ["a", "b", "c"];
let premier = liste.shift(); // retire 'a'
alert(premier); // a
let nouvelleLongueur = liste.unshift("x", "y"); // ajoute au début
alert(nouvelleLongueur); // 4
alert(liste); // x,y,b,c

Méthodes de tri : reverse() inverse l'ordre, sort() trie les éléments.


let nums = [3, 1, 2];
nums.reverse(); // [2, 1, 3]
nums.sort(); // [1, 2, 3] par défaut selon les chaînes

Méthodes de manipulation sans modifier l'original :


let base = ["rouge", "vert", "bleu"];
let extension = base.concat("jaune", ["noir", "brun"]);
alert(base); // rouge,vert,bleu
alert(extension); // rouge,vert,bleu,jaune,noir,brun


let palette = ["rouge", "vert", "bleu", "jaune", "violet"];
let extrait1 = palette.slice(1);
let extrait2 = palette.slice(1, 4);
alert(extrait1); // vert,bleu,jaune,violet
alert(extrait2); // vert,bleu,jaune

La méthode splice() modifie le tableau en place pour supprimer, insérer ou remplacer des éléments.


let ensemble = ["rouge", "vert", "bleu"];
let supprimé = ensemble.splice(0, 1); // supprime un élément à l'index 0
alert(ensemble); // vert,bleu
alert(supprimé); // rouge

supprimé = ensemble.splice(1, 0, "jaune", "orange"); // insère deux éléments à l'index 1
alert(ensemble); // vert,jaune,orange,bleu
alert(supprimé); // [] tableau vide

supprimé = ensemble.splice(1, 1, "rouge", "violet"); // remplace un élément par deux nouveaux
alert(ensemble); // vert,rouge,violet,orange,bleu
alert(supprimé); // jaune

Méthodes de position : indexOf() et lastIndexOf() pour trouver l'index d'un élément.


let séquence = [1, 2, 3, 4, 2];
let position = séquence.indexOf(2); // 1
let dernièrePosition = séquence.lastIndexOf(2); // 4

Méthodes d'itération : chaque fonction prend trois argumants (valeur, index, tableau).


let valeurs = [1, 2, 3, 4, 5, 4, 3, 2, 1];
let tousSupérieurs = valeurs.every(function(elt, idx, tab) {
    return elt > 2;
});
alert(tousSupérieurs); // false


let auMoinsUn = valeurs.some(function(elt, idx, tab) {
    return elt > 2;
});
alert(auMoinsUn); // true


let filtre = valeurs.filter(function(elt, idx, tab) {
    return elt > 2;
});
alert(filtre); // [3,4,5,4,3]


let transformé = valeurs.map(function(elt, idx, tab) {
    return elt * 3;
});
alert(transformé); // [3,6,9,12,15,12,9,6,3]


valeurs.forEach(function(elt, idx, tab) {
    // exécuter une action sans retour
});

Méthodes de réduction : reduce() et reduceRight() pour accumuler une valeur.


let nombres = [1, 2, 3, 4, 5];
let total = nombres.reduce(function(acc, courant, idx, tab) {
    return acc + courant;
});
alert(total); // 15


let données = [1, 4];
let résultat = données.reduceRight(function(acc, courant, idx, tab) {
    return acc - courant;
});
alert(résultat); // 3

  1. Le Type RegExp

Les expressions régulières sont utilisées pour la recherche et la manipulation de texte avec un pattern et des drapeaux.


let modèle = /motif/drapeaux;

  1. Les Types Emballés Primitifs

Boolean, Number et String fournissent des méthodes pour manipuler les valeurs primitives, mais créent des objets temporaires.


let texte = new String("contenu");
texte.couleur = "rouge";
alert(texte.couleur); // undefined


let instance = new String("contenu");
alert(instance instanceof String); // true

  1. Les Objets Intégrés

L'objet Global fournit des fonctions comme encodeURI() et eval().


eval("alert('salut')"); // équivalent à alert('salut')


eval("let message = 'bonjour'");
alert(message); // bonjour

L'objet Math propose des méthodes mathématiques, comme random() pour générer des nombres aléatoires.


let aléatoire = Math.floor(Math.random() * 10 + 1); // nombre entre 1 et 10

Étiquettes: JavaScript Object Array RegExp Méthodes de Tableau

Publié le 15 juin à 17h48