JavaScript avancé : classes, modules et syntaxe moderne
Le prototype et la chaîne de prototypes, class, extends et super, les modules avec import et export, la déstructuration, la décomposition et le chaînage optionnel.
- 35 cartes
- 6 thèmes
- Gratuit
Le programme, thème par thème
Le poids de chaque thème suit celui que lui donne l'examen.
- Notions
- Questions
- Ranger et relier
- Les étapes
- Mises en situation
- Comprendre
Quelques cartes du deck
Prototype : de quoi s'agit-il ?
Voir la réponse
Objet auquel un autre objet délègue : quand une propriété manque sur le premier, le moteur la cherche sur celui-là.
Les méthodes d'une classe vivent une seule fois sur son prototype ; les instances n'en portent pas de copie.
Que valent
reste,tetvà la fin ?
```js
const { a, ...reste } = { a: 1, b: 2, c: 3 };
const t = [...[1, 2], 3];
let u;
const v = u?.x ?? "rien";`{ b: 2, c: 3 },[1, 2, 3],"rien"{ a: 1, b: 2, c: 3 },[[1, 2], 3],undefined{ b: 2, c: 3 },[[1, 2], 3],"rien"[2, 3],[1, 2, 3],TypeError
Voir la réponse
{ b: 2, c: 3 },[1, 2, 3],"rien"Le reste rassemble les propriétés non extraites (
aest exclu). L'étalement...pose les éléments à plat.u?.xs'arrête àundefinedau lieu de lever une erreur, et??donne alors la valeur de repli.Pour importer un export nommé, on écrit son nom entre … ; pour l'export par défaut, on les omet et on choisit le nom.
Voir la réponse
Pour importer un export nommé, on écrit son nom entre accolades ; pour l'export par défaut, on les omet et on choisit le nom.
Oublier les accolades importe l'export par défaut ; en mettre sur un nom qui n'est pas exporté donne un
SyntaxErroravant toute exécution.Chaîne de prototypes : de quoi s'agit-il ?
Voir la réponse
Suite d'objets parcourue d'un prototype au suivant, jusqu'à trouver la propriété ou atteindre
null.Si rien n'est trouvé au bout, la lecture donne
undefined; l'appel d'une méthode manquante, lui, lèveTypeError: … is not a function.La recherche de rex.parler() sur la chaîne de prototypes : quelle étape vient après « Le moteur cherche parler sur l'objet rex lui-même » ?
- Absente aussi : il passe à Animal.prototype
- Il y trouve parler et l'appelle avec this égal à rex
- Absente : il passe au prototype de rex, Chien.prototype
- Sans résultat, il aurait atteint Object.prototype puis null
Voir la réponse
Absente : il passe au prototype de rex, Chien.prototype
La recherche monte d'un maillon à la fois et s'arrête à la première propriété trouvée ; le this reste l'objet de départ,
rex, même si la méthode vient d'un prototype.