CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

Mon code a pété un plomb ?

JeVoteLeP10
JeVoteLeP10
Niveau 6
06 juillet 2022 à 00:35:11

Je me suis mis en tête pour m'améliorer en JS de tenter de faire un petit code simple qui consiste a faire trouver un nombre a l'utilisateur.

j'initialise ma variable "try" qui sera le nombre d'essais qu'a l'utilisateur, je la déclare normalement, comme variable, mais visiblement ça chie dans la console... quelqu'un peux m'expliquer ce qui va pas avec ma ligne 2 ?

le code: https://image.noelshack.com/fichiers/2022/27/3/1657060406-jsnombre.jpg

PS : Ne me corrigez pas pour le reste du code en commentaire, même s'il y a des fautes ou que j'ai mal écrit pour le moment, merci.
(Vous pouvez me dire si je suis sur la bonne voie ou non, par contre)

c'est mal parti si ma 1ere ligne qui est une simple variable chie dans la colle :o))

Message édité le 06 juillet 2022 à 00:40:05 par JeVoteLeP10
JeVoteLeP10
JeVoteLeP10
Niveau 6
06 juillet 2022 à 00:48:29

ah par contre j'aurai aussi aimé savoir comment déclarer que je veux que ma variable soit un nombre quand je l'initialise ? (et non pas une chaine de caractère par défault)
J'ai essayé

let nombre:number = math...;
let try:number = 3;
let reponse:number;

Mais il comprend pas le :number non plus, ça n'existe pas ?

Message édité le 06 juillet 2022 à 00:49:51 par JeVoteLeP10
Marmaronette
Marmaronette
Niveau 15
06 juillet 2022 à 02:05:39

"try" est un mot clé du langage, tu peux pas l'utiliser comme nom de variable.

LGV
LGV
Niveau 28
06 juillet 2022 à 02:10:26

try et catch sont des mots clefs du langage qui servent a gerer les exceptions ; il y a donc surement une confusion sur les symboles. Essaye simplement de renommer la variable en qqch de plus explicite et de non-exclusif.

cybevil
cybevil
Niveau 27
06 juillet 2022 à 02:34:14

Il y a quelques petites erreurs mais la logique est là, tu fais bien d’essayer de les résoudres par toi même, c’est comme ça qu’on progresse le mieux.

Si jamais tu bloques vraiment n’hésite pas à revenir demander sur le topic :ok:

cybevil
cybevil
Niveau 27
06 juillet 2022 à 02:36:33

Le 06 juillet 2022 à 00:48:29 :
ah par contre j'aurai aussi aimé savoir comment déclarer que je veux que ma variable soit un nombre quand je l'initialise ? (et non pas une chaine de caractère par défault)
J'ai essayé

let nombre:number = math...;
let try:number = 3;
let reponse:number;

Mais il comprend pas le :number non plus, ça n'existe pas ?

Effectivement en JavaScript ce n’est pas possible de typer ses variables (c’est justement pour ça qu’une surcouche a été inventée, le typeScript)

Par contre en js les variables n’ont pas de type par défaut, elles prennent le type de ce que tu mets dedans.

Si t’as une chaine de caractère c’est sûrement car prompt renvoi du texte, il te faut le convertir avant de l’attribuer à ta variable.

Message édité le 06 juillet 2022 à 02:38:18 par cybevil
JeVoteLeP10
JeVoteLeP10
Niveau 6
07 juillet 2022 à 13:02:40

Le 06 juillet 2022 à 02:34:14 :
Il y a quelques petites erreurs mais la logique est là, tu fais bien d’essayer de les résoudres par toi même, c’est comme ça qu’on progresse le mieux.

Si jamais tu bloques vraiment n’hésite pas à revenir demander sur le topic :ok:

:merci:

Le 06 juillet 2022 à 02:36:33 :

Le 06 juillet 2022 à 00:48:29 :
ah par contre j'aurai aussi aimé savoir comment déclarer que je veux que ma variable soit un nombre quand je l'initialise ? (et non pas une chaine de caractère par défault)
J'ai essayé

let nombre:number = math...;
let try:number = 3;
let reponse:number;

Mais il comprend pas le :number non plus, ça n'existe pas ?

Effectivement en JavaScript ce n’est pas possible de typer ses variables (c’est justement pour ça qu’une surcouche a été inventée, le typeScript)

Par contre en js les variables n’ont pas de type par défaut, elles prennent le type de ce que tu mets dedans.

Si t’as une chaine de caractère c’est sûrement car prompt renvoi du texte, il te faut le convertir avant de l’attribuer à ta variable.

ok je comprends mieux, donc pas besoin de me soucier sur mon type de variable. Mais du coup j'ai une autre question, pourquoi on recommande d'utiliser === plutôt que == alors ?

J'ai cru comprendre que === vérifie que le type de variable et son contenu soit identique a la comparaison, mais si JS définis par default la variable par rapport a son contenu, == marche tout le temps aussi, non ?

cybevil
cybevil
Niveau 27
07 juillet 2022 à 13:05:01

Le 07 juillet 2022 à 13:02:40 :

Le 06 juillet 2022 à 02:34:14 :
Il y a quelques petites erreurs mais la logique est là, tu fais bien d’essayer de les résoudres par toi même, c’est comme ça qu’on progresse le mieux.

Si jamais tu bloques vraiment n’hésite pas à revenir demander sur le topic :ok:

:merci:

Le 06 juillet 2022 à 02:36:33 :

Le 06 juillet 2022 à 00:48:29 :
ah par contre j'aurai aussi aimé savoir comment déclarer que je veux que ma variable soit un nombre quand je l'initialise ? (et non pas une chaine de caractère par défault)
J'ai essayé

let nombre:number = math...;
let try:number = 3;
let reponse:number;

Mais il comprend pas le :number non plus, ça n'existe pas ?

Effectivement en JavaScript ce n’est pas possible de typer ses variables (c’est justement pour ça qu’une surcouche a été inventée, le typeScript)

Par contre en js les variables n’ont pas de type par défaut, elles prennent le type de ce que tu mets dedans.

Si t’as une chaine de caractère c’est sûrement car prompt renvoi du texte, il te faut le convertir avant de l’attribuer à ta variable.

ok je comprends mieux, donc pas besoin de me soucier sur mon type de variable. Mais du coup j'ai une autre question, pourquoi on recommande d'utiliser === plutôt que == alors ?

J'ai cru comprendre que === vérifie que le type de variable et son contenu soit identique a la comparaison, mais si JS définis par default la variable par rapport a son contenu, == marche tout le temps aussi, non ?

Je n’ai pas tout les exemples en tête mais je sais que cette expression renvoie vrai : 2 == ”2“

Alors que celle-ci renvoie faux : 2 === ”2”

Message édité le 07 juillet 2022 à 13:07:19 par cybevil
JeVoteLeP10
JeVoteLeP10
Niveau 6
07 juillet 2022 à 13:10:03

Le 07 juillet 2022 à 13:05:01 :

Le 07 juillet 2022 à 13:02:40 :

Le 06 juillet 2022 à 02:34:14 :
Il y a quelques petites erreurs mais la logique est là, tu fais bien d’essayer de les résoudres par toi même, c’est comme ça qu’on progresse le mieux.

Si jamais tu bloques vraiment n’hésite pas à revenir demander sur le topic :ok:

:merci:

Le 06 juillet 2022 à 02:36:33 :

Le 06 juillet 2022 à 00:48:29 :
ah par contre j'aurai aussi aimé savoir comment déclarer que je veux que ma variable soit un nombre quand je l'initialise ? (et non pas une chaine de caractère par défault)
J'ai essayé

let nombre:number = math...;
let try:number = 3;
let reponse:number;

Mais il comprend pas le :number non plus, ça n'existe pas ?

Effectivement en JavaScript ce n’est pas possible de typer ses variables (c’est justement pour ça qu’une surcouche a été inventée, le typeScript)

Par contre en js les variables n’ont pas de type par défaut, elles prennent le type de ce que tu mets dedans.

Si t’as une chaine de caractère c’est sûrement car prompt renvoi du texte, il te faut le convertir avant de l’attribuer à ta variable.

ok je comprends mieux, donc pas besoin de me soucier sur mon type de variable. Mais du coup j'ai une autre question, pourquoi on recommande d'utiliser === plutôt que == alors ?

J'ai cru comprendre que === vérifie que le type de variable et son contenu soit identique a la comparaison, mais si JS définis par default la variable par rapport a son contenu, == marche tout le temps aussi, non ?

Je n’ai pas tout les exemples en tête mais je sais que cette expression renvoie vrai : 2 == ”2“

Alors que celle-ci renvoie faux : 2 === ”2”

c'est ça que je comprends pas, si js change le type de variable via la donnée stockée, pourquoi 2 serait faux sur === ?

Message édité le 07 juillet 2022 à 13:11:54 par JeVoteLeP10
cybevil
cybevil
Niveau 27
07 juillet 2022 à 13:35:27

Le 07 juillet 2022 à 13:10:03 :

Le 07 juillet 2022 à 13:05:01 :

Le 07 juillet 2022 à 13:02:40 :

Le 06 juillet 2022 à 02:34:14 :
Il y a quelques petites erreurs mais la logique est là, tu fais bien d’essayer de les résoudres par toi même, c’est comme ça qu’on progresse le mieux.

Si jamais tu bloques vraiment n’hésite pas à revenir demander sur le topic :ok:

:merci:

Le 06 juillet 2022 à 02:36:33 :

Le 06 juillet 2022 à 00:48:29 :
ah par contre j'aurai aussi aimé savoir comment déclarer que je veux que ma variable soit un nombre quand je l'initialise ? (et non pas une chaine de caractère par défault)
J'ai essayé

let nombre:number = math...;
let try:number = 3;
let reponse:number;

Mais il comprend pas le :number non plus, ça n'existe pas ?

Effectivement en JavaScript ce n’est pas possible de typer ses variables (c’est justement pour ça qu’une surcouche a été inventée, le typeScript)

Par contre en js les variables n’ont pas de type par défaut, elles prennent le type de ce que tu mets dedans.

Si t’as une chaine de caractère c’est sûrement car prompt renvoi du texte, il te faut le convertir avant de l’attribuer à ta variable.

ok je comprends mieux, donc pas besoin de me soucier sur mon type de variable. Mais du coup j'ai une autre question, pourquoi on recommande d'utiliser === plutôt que == alors ?

J'ai cru comprendre que === vérifie que le type de variable et son contenu soit identique a la comparaison, mais si JS définis par default la variable par rapport a son contenu, == marche tout le temps aussi, non ?

Je n’ai pas tout les exemples en tête mais je sais que cette expression renvoie vrai : 2 == ”2“

Alors que celle-ci renvoie faux : 2 === ”2”

c'est ça que je comprends pas, si js change le type de variable via la donnée stockée, pourquoi 2 serait faux sur === ?

Si tu changes le type de la variable ça veut dire que tu test 2 === 2 donc ça vaut vrai

Pour que tu comprennes, imagine tu fais un prompt où tu change pas le type de la variable, tu écris 2 dans le prompt et tu stock donc ”2” dans ta variable sans faire de conversion.

Tu pourras faire une comparaison entre ta variable qui contient un 2 de type string avec un autre 2 de type number, si c’est des double egal ça vaudra vrai et si c’est des triple ça vaudra faux

Message édité le 07 juillet 2022 à 13:36:32 par cybevil
JeVoteLeP10
JeVoteLeP10
Niveau 6
07 juillet 2022 à 13:43:52

Le 07 juillet 2022 à 13:35:27 :

Le 07 juillet 2022 à 13:10:03 :

Le 07 juillet 2022 à 13:05:01 :

Le 07 juillet 2022 à 13:02:40 :

Le 06 juillet 2022 à 02:34:14 :
Il y a quelques petites erreurs mais la logique est là, tu fais bien d’essayer de les résoudres par toi même, c’est comme ça qu’on progresse le mieux.

Si jamais tu bloques vraiment n’hésite pas à revenir demander sur le topic :ok:

:merci:

Le 06 juillet 2022 à 02:36:33 :

> Le 06 juillet 2022 à 00:48:29 :

>ah par contre j'aurai aussi aimé savoir comment déclarer que je veux que ma variable soit un nombre quand je l'initialise ? (et non pas une chaine de caractère par défault)

> J'ai essayé

>

> let nombre:number = math...; > let try:number = 3; > let reponse:number;

>

> Mais il comprend pas le :number non plus, ça n'existe pas ?

Effectivement en JavaScript ce n’est pas possible de typer ses variables (c’est justement pour ça qu’une surcouche a été inventée, le typeScript)

Par contre en js les variables n’ont pas de type par défaut, elles prennent le type de ce que tu mets dedans.

Si t’as une chaine de caractère c’est sûrement car prompt renvoi du texte, il te faut le convertir avant de l’attribuer à ta variable.

ok je comprends mieux, donc pas besoin de me soucier sur mon type de variable. Mais du coup j'ai une autre question, pourquoi on recommande d'utiliser === plutôt que == alors ?

J'ai cru comprendre que === vérifie que le type de variable et son contenu soit identique a la comparaison, mais si JS définis par default la variable par rapport a son contenu, == marche tout le temps aussi, non ?

Je n’ai pas tout les exemples en tête mais je sais que cette expression renvoie vrai : 2 == ”2“

Alors que celle-ci renvoie faux : 2 === ”2”

c'est ça que je comprends pas, si js change le type de variable via la donnée stockée, pourquoi 2 serait faux sur === ?

Si tu changes le type de la variable ça veut dire que tu test 2 === 2 donc ça vaut vrai

Pour que tu comprennes, imagine tu fais un prompt où tu change pas le type de la variable, tu écris 2 dans le prompt et tu stock donc ”2” dans ta variable sans faire de conversion.

Tu pourras faire une comparaison entre ta variable qui contient un 2 de type string avec un autre 2 de type number, si c’est des double egal ça vaudra vrai et si c’est des triple ça vaudra faux

Mais du coup comment je dis que si j'ai mis 2 dans une variable string, que je veux qu'il soit considéré comme un nombre ? pour que === retourne true ?

Message édité le 07 juillet 2022 à 13:44:12 par JeVoteLeP10
cybevil
cybevil
Niveau 27
07 juillet 2022 à 13:55:39

Le 07 juillet 2022 à 13:43:52 :

Le 07 juillet 2022 à 13:35:27 :

Le 07 juillet 2022 à 13:10:03 :

Le 07 juillet 2022 à 13:05:01 :

Le 07 juillet 2022 à 13:02:40 :

> Le 06 juillet 2022 à 02:34:14 :

>Il y a quelques petites erreurs mais la logique est là, tu fais bien d’essayer de les résoudres par toi même, c’est comme ça qu’on progresse le mieux.

>

> Si jamais tu bloques vraiment n’hésite pas à revenir demander sur le topic :ok:

:merci:

> Le 06 juillet 2022 à 02:36:33 :

>> Le 06 juillet 2022 à 00:48:29 :

> >ah par contre j'aurai aussi aimé savoir comment déclarer que je veux que ma variable soit un nombre quand je l'initialise ? (et non pas une chaine de caractère par défault)

> > J'ai essayé

> >

> > let nombre:number = math...; > > let try:number = 3; > > let reponse:number;

> >

> > Mais il comprend pas le :number non plus, ça n'existe pas ?

>

> Effectivement en JavaScript ce n’est pas possible de typer ses variables (c’est justement pour ça qu’une surcouche a été inventée, le typeScript)

>

> Par contre en js les variables n’ont pas de type par défaut, elles prennent le type de ce que tu mets dedans.

>

> Si t’as une chaine de caractère c’est sûrement car prompt renvoi du texte, il te faut le convertir avant de l’attribuer à ta variable.

ok je comprends mieux, donc pas besoin de me soucier sur mon type de variable. Mais du coup j'ai une autre question, pourquoi on recommande d'utiliser === plutôt que == alors ?

J'ai cru comprendre que === vérifie que le type de variable et son contenu soit identique a la comparaison, mais si JS définis par default la variable par rapport a son contenu, == marche tout le temps aussi, non ?

Je n’ai pas tout les exemples en tête mais je sais que cette expression renvoie vrai : 2 == ”2“

Alors que celle-ci renvoie faux : 2 === ”2”

c'est ça que je comprends pas, si js change le type de variable via la donnée stockée, pourquoi 2 serait faux sur === ?

Si tu changes le type de la variable ça veut dire que tu test 2 === 2 donc ça vaut vrai

Pour que tu comprennes, imagine tu fais un prompt où tu change pas le type de la variable, tu écris 2 dans le prompt et tu stock donc ”2” dans ta variable sans faire de conversion.

Tu pourras faire une comparaison entre ta variable qui contient un 2 de type string avec un autre 2 de type number, si c’est des double egal ça vaudra vrai et si c’est des triple ça vaudra faux

Mais du coup comment je dis que si j'ai mis 2 dans une variable string, que je veux qu'il soit considéré comme un nombre ? pour que === retourne true ?

Bon on va reprendre depuis le début je sens que tu t’embrouilles 😆

En js les variables n’obtiennent un type que lorsqu’on y mets quelque chose à l’intérieur, une fois remplis, la variable devient du type de ce qu’on y a mis.

Mais le type de la variable rechange si on y mets quelques chose d’autre à l’intérieur, c’est un typage dynamique.

Ensuite les nombres existent en 2 exemplaires, soit de type nombre soit de type string (2, ”2”).

Prompt ne renvoie que du string donc jamais de type nombre (”2”).

pour donner un example avec prompt ça ressemblerait à ça pour convertir et stocker le nombre puis exécuter du code si ça vaut 2 :

let maVariableDeTypeNombre = Number(prompt(”entrez une valeur : ”));
if(maVariableDeTypeNombre === 2){
   //mon code
}
Message édité le 07 juillet 2022 à 13:58:52 par cybevil
Sous forums
  • Aide à l'achat Mac
  • Macintosh
  • Création de sites web
  • Création de Jeux
  • Linux
  • Programmation
  • Internet
  • Steam Deck
  • Hardware
La vidéo du moment