dupontL3alt
JS un langage à prototype
🥷"C'est un langage orienté objet à prototype : les bases du langage et ses principales interfaces sont fournies par des objets. Cependant, à la différence d'un langage orienté objets à classes, les objets de base ne sont pas des instances de classes. En outre, les fonctions sont des objets de première classe. Le langage supporte le paradigme objet, impératif et fonctionnel."
🚀Source : https://fr.wikipedia.org/wiki/JavaScript
Les essentiels !
JS : basic
🆘prototype
🆘literal template
🆘Décomposition
🆘 l'opérateur ...
🆘Reduce
Immutable 🥷
Rappel : code
Illustrons maintenant la notion de mutable.
// Original items array
const items = [
{ id: "uuid_1", title: "Item 1" },
{ id: "uuid_2", title: "Item 2" },
{ id: "uuid_3", title: "Item 3" },
];
// 🪛 Immutable Delete
const deleteId = "uuid_2";
const itemsAfterDelete = items.filter((item) => item.id !== deleteId);
// 🐧Immutable Modify
const modifyId = "uuid_3";
const itemsAfterModify = itemsAfterDelete.map((item) =>
item.id === modifyId ? { ...item, title: "Modified Item 3" } : item
);
// 🚀Immutable Add
const newItem = { id: "uuid_4", title: "Item 4" };
const itemsAfterAdd = [...itemsAfterModify, newItem];
// Logging for demonstration
console.log(
`Original items array remains unchanged: ${JSON.stringify(items, null, 2)}`
);
console.log(
`Items after deletion: ${JSON.stringify(itemsAfterDelete, null, 2)}`
);
console.log(
`Items after modification: ${JSON.stringify(itemsAfterModify, null, 2)}`
);
console.log(
`Items after adding a new item: ${JSON.stringify(itemsAfterAdd, null, 2)}`
);
Inscription à :
Articles (Atom)