var premiereSource = { a: 1 };
var deuxiemeSource = { b: 2 };
var troisiemeSource = { c: 3 };
var resultat = Object.assign(premiereSource, deuxiemeSource, troisiemeSource);
console.log(resultat); // { a: 1, b: 2, c: 3 }
console.log(premiereSource); // { a: 1, b: 2, c: 3 }, l'objet cible est également modifié.
Constante
// Une variable définie avec const ne peut pas être modifiée
const constanteNumerique = 2;
constanteNumerique = 5; // génère une erreur
Portée de bloc avec let
let variableDeBloc = 3;
console.log('Valeur de let hors de la fonction : ' + variableDeBloc); // affiche 3
function modifier(){
let variableDeBloc = 6;
console.log('Valeur de let внутри функции : ' + variableDeBloc); // affiche 6
}
modifier();
console.log('La variable externe reste inchangée : ' + variableDeBloc); // affiche 3
Opératteur de coalescence
configuration = {'cle': 'valeur', 'autre': 42}
valeurParDefaut = configuration.indisponible ?? 1
console.log(valeurParDefaut); // affiche 1
Récupérer les clés d'un objet
// Retourne un tableau contenant les clés de l'objet
var objetExemple = { 100: 'premier', 2: 'deuxieme', 7: 'troisieme' };
console.log(Object.keys(objetExemple)); // ['2', '7', '100']
Méthode map()
// map() crée un nouveau tableau avec les résultats de l'appel de chaque élément
let valeursInitiales = [1, 5, 10, 15];
let valeursDoubles = valeursInitiales.map((element) => {
return element * 2;
});
// valeursDoubles contient maintenant [2, 10, 20, 30]
// valeursInitiales reste [1, 5, 10, 15]
const elementsTransformes = donneesSource.map((element) => {
if (element.parametres) {
element.parametres = this.serviceChiffrement.dechiffrer(element.parametres);
}
return element;
});
Destructuration d'objet
const informations = {'nom': 'dupont','age': 28}
const {nom: NomUtilisateur} = informations
// NomUtilisateur contient 'dupont'
Reflect.deleteProperty()
var objetCible = { x: 1, y: 2 };
Reflect.deleteProperty(objetCible, "x"); // true
objetCible; // { y: 2 }
var tableauCible = [1, 2, 3, 4, 5];
Reflect.deleteProperty(tableauCible, "3"); // true
tableauCible; // [1, 2, 3, , 5]
// Si la propriété n'existe pas, retourne true
Reflect.deleteProperty({}, "inexistante"); // true
// Si la propriété est non-configurable, retourne false
Reflect.deleteProperty(Object.freeze({foo: 1}), "foo"); // false
Filtrage avec filter
const utilisateursActifs = listeUtilisateurs.filter((element) => element.supprime === false);
// Suppression des doublons
let elementsUniques = [];
const fruits = [
'pomme',
'fraise',
'banane',
'poire',
'pomme',
'orange',
'orange',
'fraise'
];
elementsUniques = fruits.filter(function(elt, index, tableau) {
return tableau.indexOf(elt) === index;
});
return elementsUniques;
Parcourir les propriétés d'un objet
const proprietes = Object.keys(donneesEntrees).map((cle) => ({
Nom: cle,
Valeur: donneesEntrees[cle],
}));