Exercice 17/38

Soit deux variables init1 et init2 déjà déclarées et qui contiennent un nombre.
Dans le fichier "script.js" :

  • incrémentez init1 de 1;
  • décrémentez init2 de 1;
  • cliquez sur "Soumettre ma réponse".

Leçon 17/38

Il existe un autre type d'opérateurs en Javascript : les opérateurs d'incrémentation et de décrémentation.
Leur fonction est simple, ajouter ou soustraire 1 à une valeur. vous savez déjà le faire avec les opérateurs arithmétiques :

var init = 0;
init = init + 1; // init = 1
init = init - 1;  // init = 0

Cette notation est toutefois un peu lourde sachant qu'il s'agit toujours de faire +1 ou -1. C'est là qu'interviennent les opérateurs d'incrémentation et de décrémentation. L'exemple ci-dessus devient donc :

var init = 0;
init++; // init = 1
init--; // init = 0

Ces opérateurs seront surtout utiles quand vous apprendrez le principe des boucles.

Commentaires les mieux notés

  • logan.terrisse-20

    il faut cocher : Activer JavaScript

  • mram Administrateur

    Et oui, vous avez loupé le fait que juste avant on incrémente "init" de 1, donc ça vaut 1. Ensuite on décrémente "init" donc on revient à 0.

  • mram Administrateur

    Ils ne sont pas obligatoire en Javascript (non strict) mais il est mieux de les mettre pour avoir un code propre. Dans les corrections, on les vérifie dans la plupart des exercices donc le mieux est de les mettre par défaut.

  • mram Administrateur

    Il faut mettre votre code dans le fichier script.js . cf l'onglet à côté de index.html

30 Commentaires

  • logan.terrisse-20

    logan.terrisse-20

    il faut cocher : Activer JavaScript

    le 01/05/2018 à 11h16

  • mram

    mram Administrateur

    Et oui, vous avez loupé le fait que juste avant on incrémente "init" de 1, donc ça vaut 1. Ensuite on décrémente "init" donc on revient à 0.

    le 28/02/2017 à 20h09

  • mram

    mram Administrateur

    Ils ne sont pas obligatoire en Javascript (non strict) mais il est mieux de les mettre pour avoir un code propre. Dans les corrections, on les vérifie dans la plupart des exercices donc le mieux est de les mettre par défaut.

    le 22/12/2016 à 13h06

  • mram

    mram Administrateur

    Il faut mettre votre code dans le fichier script.js . cf l'onglet à côté de index.html

    le 05/04/2017 à 12h49

  • david.messagerie

    david.messagerie

    Bonsoir, besoin d'aide svp j'ai tout essayer la j'ai plus d'idée. j'en suis à init1 = init1++ init2 = init2-- mais j'ai toujours ce message "Avez-vous bien utilisé les opérateurs ++ et -- une fois chacun ?"

    le 13/02/2017 à 18h48

  • julien.upemlv

    julien.upemlv

    Jusqu'à cet exercice, il n'y avait pas besoin de mettre de ; à la fin de chaque ligne...

    le 21/12/2016 à 15h36

  • alie.rostan

    alie.rostan

    je ne comprend pas cette exercice

    le 25/01/2017 à 13h17

  • mickael.59300

    mickael.59300

    j'ai encore et toujours ce message "Avez-vous bien utilisé les opérateurs ++ et -- une fois chacun ?" ce qui est pourtant le cas....

    le 01/04/2017 à 12h30

  • alie.rostan

    alie.rostan

    bonjour je suis bloque je ne comprend pas mon erreur merci

    le 25/01/2017 à 13h46

  • david.messagerie

    david.messagerie

    c'est bon j'ai trouvé enfin ;-) ile ne faut pas oublié le ;

    le 14/02/2017 à 20h55

  • mram

    mram Administrateur

    Les variables "init1" et "init2" sont déjà déclarées, donc pas besoin d'écrire "var ...". De plus dans votre code vous utilisez la variable "init" qui n'existe pas et qui n'est de toute façon pas demandée dans l'énoncé. On demande juste d'utiliser ++ et -- avec la variables "init1" et "init2". Relisez les exemples pour vous inspirer.

    le 27/01/2017 à 16h05

  • mram

    mram Administrateur

    Oui en effet, il ne faut pas oublier ";" en fin de chaque instruction.

    le 17/02/2017 à 13h52

  • jljulienlevy92

    jljulienlevy92

    bonjour, je ne comprends pas ce que je fais comme erreur merci init1=init1++; init2=init2--;

    le 11/05/2017 à 18h08

  • mram

    mram Administrateur

    Vous faites juste trop compliqué. Pas besoin de mettre le "=" et tout ce qu'il y a devant.

    le 15/05/2017 à 13h44

  • Alex

    Alex

    Bonjour, petite remarque dans l'énoncé : si on a var init = 0, alors init - 1 devrait être -1 et non 0. est-ce que l'erreur est dans l'énoncé ou ai-je loupé quelque chose de fondamental pour la compréhension de javascript? Merci.

    le 26/02/2017 à 16h58

  • Alex

    Alex

    Merci pour votre explication. Cela me semble maintenant évident.

    le 02/03/2017 à 15h40

  • millelire.jo

    millelire.jo

    Bonjour, je ne comprend pas ou est mon erreur...

    le 01/05/2018 à 15h14

  • mram

    mram Administrateur

    Bonjour, il faut bien mettre chaque instruction sur une ligne à part ET il ne faut pas oublier le ; à la fin.

    le 04/05/2018 à 06h59

  • vahan.barsamian

    vahan.barsamian

    Même message d'erreur que precedemment dans cet exercice: script.js : "SyntaxError: Unexpected token +=" ligne 1 colonne 10

    le 11/08/2017 à 17h58

  • mram

    mram Administrateur

    Bonjour, il ne faut pas mettre "var" en début de ligne...

    le 16/08/2017 à 14h32

  • aaltarac

    aaltarac

    C'est pas mon soir aujourd'hui : une petite aide pour me débloquer SVP: init1++; init2--;

    le 26/06/2017 à 22h54

  • mram

    mram Administrateur

    Ici aussi. On a eu un souci de Proxy sur le serveur, normalement c'est corrigé.

    le 29/06/2017 à 16h55

  • laurent8396

    laurent8396

    pour la reponse c'est init1++; init2--; tout simplement mais c'est vrai que c'est pas tres claire des fois

    le 27/11/2017 à 19h01

  • bernardraphael13

    bernardraphael13

    bonjour un petit doute, init1++; init2--;reponse Le résultat de l'incrémentation est incorrect. Le résultat de la décrémentation est incorrect. une petite astuce pour me débloquer mercI

    le 15/06/2017 à 15h31

  • mram

    mram Administrateur

    Bonjour, peut-être en supprimant les espaces en trop en fin de ligne. Le code est correct sinon.

    le 21/06/2017 à 15h54

  • vaco.real3-59

    vaco.real3-59

    need help je ne comprend pas

    le 29/04/2018 à 00h58

  • mram

    mram Administrateur

    Bonjour, il suffit de faire l'incrémentation, donc pas besoin de ce qu'il y a avant.

    le 04/05/2018 à 06h45

  • kelly.tastets

    kelly.tastets

    bonjour, y a-t-il un bug?

    le 09/10/2017 à 17h09

  • mram

    mram Administrateur

    Bonjour, non cet exercice est fonctionnel. C'est votre code qui était incorrect.

    le 12/10/2017 à 15h58

  • chantal.ferrand1-76

    chantal.ferrand1-76

    fichier "script.js" : init1 = init1++; init2 = init2--; Le résultat de l'incrémentation est incorrect.,Le résultat de la décrémentation est incorrect. Le résultat de l'incrémentation est incorrect.,Le résultat de la décrémentation est incorrect. Je précise qu'il n'y a aucun espace en fin de ligne.

    le 02/07/2018 à 15h04

  • mram

    mram Administrateur

    Il faut juste incrémenter, pas besoin de faire d'affectation.

    le 05/07/2018 à 05h14

  • leonmariotto

    leonmariotto

    Il m'arrive la meme chose que sur l'exercice précédent : Le résultat de l'incrémentation est incorrect. Le résultat de la décrémentation est incorrect. Pour : init1++; init2--; Ai-je raté quelque chose ?

    le 20/06/2017 à 14h09

  • mram

    mram Administrateur

    Bonjour, non votre code est correct pourtant.

    le 21/06/2017 à 16h53

  • kylianrenout56-34

    kylianrenout56-34

    Solution : init1++; init2--;

    le 11/10/2018 à 18h31

index.html
script.js
<!DOCTYPE HTML> <html> <head> <title>Opérateurs d'incrémentation et de décrémentation</title> <script src="script.js"></script> </head> <body> </body> </html>
var init1 = 12 var init2 = 33