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.
- Notions
- Questions
- 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
aetcà 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]etc=[6, 8]a=[1, 2, 3]etc=[6, 8]a=[1, 2, 3, 4]etc=[6]a=[1, 2, 3]etc=[8]
Voir la réponse
a=[1, 2, 3, 4]etc=[6, 8]b = ane copie pas : les deux noms désignent le même tableau, doncpushsurbchangea. Ensuitemapdonne[2, 4, 6, 8]etfiltergarde ce qui dépasse 4 :[6, 8].Une propriété d'objet se lit avec la notation par …, comme
client.nom, ou par …, commeclient['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, commeclient['code-postal'], indispensable quand le nom n'est pas un identifiant valide.Les crochets acceptent aussi une variable :
client[champ]. Une propriété absente donneundefined, 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()etdouble(undefined)donnent 4, maisdouble(null)donne 0 :nullest 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 renvoieundefinedà chaque tour. Il faut écrirei => i.prixoui => { return i.prix }.