Bonjour, je fais une reconversion professionelle et après LARP, je commence JS.

Je prends un exemple: Entrez 2 valeurs et afficher le résultat.

Ce que je veux

Je veux une boucle qui vérifie que mes nombres encodés sont ENTIERS et SONT DES NOMBRES (PAS UNE CHAINE DE CARACTERE)

Ce que j'obtiens
PROBLEME : cela ne fonctionne pas si je mets let ou const... je comprends pas pourquoi....???? Surtour let a, ça devrait aller

do {
var a=prompt("Entrez un premier nombre");
}while (isNaN(a));
alert('ok, vous avez encodé un nombre');

4 réponses


Salut.

const signifie constante ce qui veut dire que tu ne peux pas changer sa valeur.

const truc="machin";
truc="bidule";  // <========= va planter

const n'autorise pas non plus la redéclaration :

const truc = "machin";
const truc = "bidule"; // <==== KO car redéclaration de truc

let te laisse changer la valeur de la variable déclarée mais, comme const, tu ne peux pas la redéfinir avec un nouveau let.

let truc = "machin";
truc = "bidule";    // <========= OK
let truc = "autre"; // <========= KO car redéclaration de truc

var est plus permissif.

var truc = "machin";
var truc = "bidule"; // <====== OK

Devoir à la maison : est-ce que maintenant tu comprends pourquoi ça plante avec let et const et pas avec var ?
;)

sonkesa
Auteur

oui je comprendfs mieux pour const...

do {
let a=prompt("Entrez un premier nombre");
}while (isNaN(a));
alert('ok, vous avez encodé un nombre');

donc là, le prob dans cet exercice, c'est parce que je redéclare let dans while, c'est ça????

Un grand merci de m'avoir répondu:)

N'oublie pas de mettre en résolu si tu pense que c'est bon et n'oublie pas aussi de mettre ton code en forme la prochaine fois en mettant entre ` le code :

Exemple :
```
console.log('ton code')
```

Donne :

console.log('ton code')

| donc là, le prob dans cet exercice, c'est parce que je redéclare let dans while, c'est ça????

C'est ça, tu ne peux pas déclarer plus d'une fois la meme variable.