Exercices NodeJS pour apprendre le JavaScript côté serveurConsultez toutes les pages d'exercices

Nombre d'auteurs : 5, nombre d'exercices : 7, dernière mise à jour : 23 avril 2016  Ajouter un exercice

 

Cette page propose des exercices NodeJS pour apprendre le JavaScript côté serveur.

Ceux-ci sont accessibles aux débutants. Ils comprennent des énoncés clairs et complets, ainsi qu'une solution détaillée lorsque cela est nécessaire.

De plus, les auteurs et d'autres membres bénévoles répondent à vos questions directement sur le forum et vous aident lors de l'apprentissage du langage.


SommaireLe langage JavaScriptLes fonctions et les scopes (1)
précédent sommaire suivant
 

Objectif
Créer et utiliser une fonction.

Compétences

  • Utilisation des fonctions.
  • Comprendre les enjeux de la factorisation.
  • Utilisation des valeurs par défaut.
  • Recherche d'une information dans la documentation.


Cours
Factorisation
La factorisation est le fait de réutiliser un même code plusieurs fois sans le réécrire, sans le dupliquer. Cette notion est primordiale en programmation, car un code dupliqué induit plusieurs gros problèmes :
  • Correction nécessaire à plusieurs endroits si un bug existe dans ce code (ce qu'on oublie généralement de faire).
  • Diminution de la lisibilité (une fonction correctement nommée permet de comprendre ce que fait fonctionnellement cette brique de code).
  • Augmentation de la taille du code inutile.


Fonction
Comme dans la plupart des langages de programmation, en JavaScript, l'outil principal de la factorisation est la fonction.

Une fonction peut ainsi être définie de cette manière :
Code JavaScript : Sélectionner tout
1
2
3
function displayName(firstName, lastName) { 
  console.log(`My name is ${firstName} ${lastName}`); // équivalent préférable à: 'My name is ' + firstName + ' ' + lastName 
}
  • displayName est le nom de la fonction.
  • firstName est le nom du premier argument passé à la fonction et s'utilise comme une variable.
  • lastName est le nom du second argument passé à la fonction et s'utilise comme une variable.
  • { ... } ce qui se trouve entre les accolades est appelé le corps de la fonction et contient le code qui sera exécuté à chaque appel de la fonction.

On peut ensuite utiliser la fonction de cette manière (on parle d'appel à la fonction) :
Code JavaScript : Sélectionner tout
1
2
displayName('John', 'Doe'); // affiche "My name is John Doe" dans la console 
displayName('Foo', 'Bar'); // affiche "My name is Foo Bar" dans la console
  • 'John' est la valeur passée en premier argument à la fonction (c.-à-d. firstName).
  • 'Doe' est la valeur passée en deuxième argument à la fonction (c.-à-d. lastName).


À noter qu'on peut affecter une fonction à une variable :
Code JavaScript : Sélectionner tout
1
2
3
4
5
6
var displayName = function displayFullName(firstName, lastName) { 
  console.log(`My name is ${firstName} ${lastName}`); 
} 
  
// On peut alors l'utiliser exactement comme précédemment: 
displayName('John', 'Doe');
On verra ultérieurement la différence entre ces 2 déclarations.

Références


Exercice
Dans l'exercice Les particularités du switch et l'utilisation de la bibliothèque standard, nous avons créé un code qui permet de transformer une chaîne formatée représentant le poids d'un fichier, ex. '100M', '2G', '500k', en nombre d'octets.
L'objectif de cet exercice est d'améliorer ce code en utilisant des fonctions pour le découper en petites unités fonctionnelles réutilisables.

1/ Créer une fonction, à partir de ce code, prenant en argument la chaîne de caractères du nombre d'octets abrégé et qui affiche sur la console la valeur non abrégée correspondante.
La tester avec les valeurs '100M', '2G' et '500k'.

2/ Créer une nouvelle fonction qui prend en premier argument une valeur numérique (p. ex. 200 ou '30') et en second argument une unité (p. ex. 'K') et qui retourne un nombre d'octets non abrégé.
Puis refactoriser le code de la question 1/ en utilisant cette fonction.
Tester avec les mêmes valeurs que dans la question précédente.

3/ [BONUS] Remplacer le code d'extraction du nombre d'octets et de l'unité par une expression rationnelle et définir une valeur par défaut de 'K' si l'unité n'est pas donnée à l'appel de la fonction.
Tester avec la valeur '500' et comparer avec '500k'.

Auteur
Alain Bontemps

Bonne chance !

Posez toutes vos questions à propos de cet exercice sur cette discussion du forum.

Mis à jour le 8 mars 2016 ABCIWEB Gnuum

Voir la solution


Enoncé de l'exercice

Solution
précédent sommaire suivant
 

Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright © 2017 Developpez Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.

 
Responsable bénévole de la rubrique JavaScript : Xavier Lecomte -