JavaScript : fonctions, tableaux et objets

Les trois façons d'écrire une fonction, les paramètres par défaut, les méthodes de tableau (map, filter, reduce, slice, splice…) et les objets, copiés par référence.

  • 27 cartes
  • 3 thèmes
  • Gratuit

Le programme, thème par thème

Le poids de chaque thème suit celui que lui donne l'examen.

  1. Notions
  2. Questions
  3. Ranger et relier

Quelques cartes du deck

  • Fonction fléchée : de quoi s'agit-il ?

    Voir la réponse

    Écriture courte d'une fonction avec une flèche, comme x => x * 2, où la valeur de l'expression est renvoyée d'office quand il n'y a pas d'accolades.

    Avec des accolades, il faut écrire return : x => { x * 2 } ne renvoie rien (undefined). C'est l'oubli le plus fréquent.

  • Que contiennent a et c à la fin ?

    ```javascript
    const a = [1, 2, 3];
    const b = a;
    b.push(4);
    const c = a.map(x => x * 2).filter(x => x > 4);
    `

    • a = [1, 2, 3, 4] et c = [6, 8]
    • a = [1, 2, 3] et c = [6, 8]
    • a = [1, 2, 3, 4] et c = [6]
    • a = [1, 2, 3] et c = [8]
    Voir la réponse

    a = [1, 2, 3, 4] et c = [6, 8]

    b = a ne copie pas : les deux noms désignent le même tableau, donc push sur b change a. Ensuite map donne [2, 4, 6, 8] et filter garde ce qui dépasse 4 : [6, 8].

  • Une propriété d'objet se lit avec la notation par …, comme client.nom, ou par …, comme client['code-postal'], indispensable quand le nom n'est pas un identifiant valide.

    Voir la réponse

    Une propriété d'objet se lit avec la notation par point, comme client.nom, ou par crochets, comme client['code-postal'], indispensable quand le nom n'est pas un identifiant valide.

    Les crochets acceptent aussi une variable : client[champ]. Une propriété absente donne undefined, sans erreur.

  • Paramètre par défaut : de quoi s'agit-il ?

    Voir la réponse

    Valeur écrite dans la déclaration d'une fonction, utilisée quand l'appel ne fournit pas l'argument ou fournit undefined.

    Avec function double(n = 2), double() et double(undefined) donnent 4, mais double(null) donne 0 : null est une valeur fournie.

  • Qu'affiche ce programme ?

    ```javascript
    const items = [{ prix: 10 }, { prix: 5 }];
    console.log(items.map(i => { i.prix }));
    `

    • [ 10, 5 ]
    • [ undefined, undefined ]
    • [ { prix: 10 }, { prix: 5 } ]
    • undefined
    Voir la réponse

    [ undefined, undefined ]

    Avec des accolades, la fonction fléchée a un corps de fonction : sans return, elle renvoie undefined à chaque tour. Il faut écrire i => i.prix ou i => { return i.prix }.