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.