Les structures de contôle

Structures conditionnelles

Les structures de contrôles sont des blocs qui permettent de :

If/else

Usage

if (condition1) { // block of code to be executed if condition1 is true } else if (condition2) { // block of code to be executed if the condition1 is false and condition2 is true } else { // block of code to be executed if the condition1 is false and condition2 is false }

Remarques

Ecriture alternative

Le code A :
if() value=1 else value=2
est équivalent au code B :
value = 2 if() value=1

Switch

switch (expression) { case valeur1: // Instructions à exécuter lorsque le résultat // de l'expression correspond à valeur1 instructions1; [break;] case valeur2: // Instructions à exécuter lorsque le résultat // de l'expression correspond à valeur2 instructions 2; [break;] … case valeurN: // Instructions à exécuter lorsque le résultat // de l'expression à valeurN instructionsN; [break;] [default: // Instructions à exécuter lorsqu'aucune des valeurs // ne correspond instructions_def; [break;]] }

If ou switch

Toute structure ecrite avec un if peut s'ecrire avec un switch, et inversement. Choisissez la structure la plus courte.

Le switch sera plus élegant lorsque :

// La probabilité qu'un mathematicien de couvre un nombre qui ne soit ni paire ni impaire est quasi nulle // le if sera plus elegant let iValue = 10; le sMsg = ''; sMsg = "Nombre impair"; if(iValue%2==0) sMsg = "Nombre pair";
// Il y a de forte chance pour qu'a l'avenir, on me demande de tester des pommes, des poires, des fraises... // je preferes un switch case const expr = 'Papayas'; switch (expr) { case 'Oranges': console.log('Oranges are $0.59 a pound.'); break; case 'Mangoes': case 'Papayas': console.log('Mangoes and papayas are $2.79 a pound.'); // Expected output: "Mangoes and papayas are $2.79 a pound." break; default: console.log(`Sorry, we are out of ${expr}.`); }

Structures itératives

Définition

Car ca ne fait jamais de mal...

itération - nom féminin - (latin iteratio, -onis)
  1. Action de répéter, de faire de nouveau ; fait d'être répété.
  2. En informatique, procédé de calcul répétitif qui boucle jusqu'à ce qu'une condition particulière soit remplie.
  3. Répétition d'un calcul, d'une opération, d'un raisonnement.

Anatomie



Remarques

Increment

// Les trois lignes suivantes sont equivalentes i++; i+=1; i=i+1;
ces racourcis fonctionnent avec tous les operateurs :
  • i--
  • i /= 2
  • i *= 2
  • etc.
  • Les exemples sont des structures classiques, mais dans certain cas, on debutera une boucle a 1 ou on utilisera i--; convention 'i', 'j', pour les compteurs. Quand on code, la façon de compter change, on commence a 0. Impact sur les conditions d'arret (aData.length-1) convention de numerotation informatique :

    Structures de contrôle

    While

    let i = 0; // variable locale du compteur de la boucle while(i<3) // condition d'arrêt de l'itération { console.log(i); // action à répéter i++; // incrementation du compteur }

    Quel sera l'affichage ?

    Avez vous une idée de l'erreur classique sur les boucles ?

    For

    Un while économique :
    for(let i=0; i<3; i++) console.log(i);
    Une erreur courrante se dissimule dans le code suivant :
    aCar = ['Mercedes', 'Jaguar', 'Mehari'] for(let i=0; i<aCar.length; i++) console.log(aCar[i]);

    Do while

    let i = 0; do console.log(i); while(i<3);

    for...in

    https://developer.mozilla.org/fr/docs/Web/JavaScript/Guide/Loops_and_iteration#linstruction_for...in pour plus tard, mais on l'aura deja entre appercue

    for...of

    https://developer.mozilla.org/fr/docs/Web/JavaScript/Guide/Loops_and_iteration#linstruction_for...of pour plus tard, mais on l'aura deja entre appercue

    fonctions

    forEach

    const array1 = ['a', 'b', 'c']; array1.forEach(element => console.log(element));

    map

    https://medium.com/poka-techblog/simplify-your-javascript-use-map-reduce-and-filter-bd02c593cc2d

    autres

    label

    let str = ''; loop1: for (let i=0; i<5; i++) { if (i === 1) { continue loop1; } str = str + i; } console.log(str); // Expected output: "0234"

    break

    L'instruction break est utilisée pour finir l'exécution d'une boucle, d'une instruction switch, ou avec un label.

    break permet de sortir de la boucle, tandis que continue passe à l'itération suivante.

    continue

    L'instruction continue permet de reprendre une boucle while, do-while, for, ou une instruction label.

    return

    var arr = ["a", "b", "c", "d", "e"]; var x = 0; while(true) { if (x == 2) { x++; continue; } if (x == arr.length) break; document.write(arr[x]); x++; }