Un objet javascript peut être créé de deux manières différentes ```javascript let obj = new Object(); // "object constructor" syntax let obj = {}; // "object literal" syntax ``` Identifiez-vous des erreurs dans la déclaration suivante ? ```javascript let obj = { "key_1" : value, key_2 : true, "key 3" : "value", [key4] : 5, } ``` - Ecrivez une fonction ``createStudent(firstName, lastName, email, age, notes)`` qui permet de créer et renvoyer un objet dont les valeurs de ces propriétés sont données en arguments de la fonction. <!-- - utilisation de for .. in - différentes manière d'accéder à la propriétés .. --> - Ecrivez une fonction ``showStudent(student)`` qui permet d'afficher un objet ``student`` <!-- To make a “real copy” (a clone) we can use Object.assign for the so-called “shallow copy” (nested objects are copied by reference) or a “deep cloning” function structuredClone or use a custom cloning implementation, such as _.cloneDeep(obj).- --> - Ecrivez une fonction ``extractIdentityFromEmail(email)`` qui permet d'extraire le nom et le prénom à partir de l'adresse mail. La fonction renvoie un objet litéral avec les deux propriétés ``{firstName : xxx, lastName : xxx}`` https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String - Ecrivez la fonction ``checkEntry(email, age)`` qui : - vérifie que l'adresse mail est bien formatée - vérifie que l'adresse mail est une adresse iut-tlse3.fr - vérifie que l'age est valide (nombre positif) la fonction renvoie ``null`` et affiche un message correspondant à l'erreur identifiée. - Ecrivez une fonction ``generateMark(max)`` qui permet de générer aléatoirement une note de 0 à max - Ecrivez un programme qui permet de saisir les informations de ``n`` étudiants (fonction [prompt](https://developer.mozilla.org/fr/docs/Web/API/Window/prompt)). Pour chaque entrée (i.e. chaque étudiant) - Récupérez les informations du prompt - Vérifiez que ces informations sont valides. Si elles ne le sont pas, refaire une itération. - Créez un objet étudiant à partir de ces informations - Le nom et prénom seront extraits automatiquement de l'adresse mail - On générera aléatoirement trois notes - Ajoutez l'objet au tableau ``promotion`` qui contiendra tous les étudiants. - Ecrivez une fonction showStudents() qui affiche les détails de tous les étudiants - Ecrivez une fonction qui renvoie la moyenne de la promotion - Ecrivez une fonction qui renvoie le nom et prénom du major de la promotion - Ecrivez une fonction qui classe et affiche l'ensemble des étudiants en fonction de leur moyenne.