IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Explications condition sur String et conversion en booléen


Sujet :

JavaScript

  1. #1
    Candidat au Club
    Homme Profil pro
    Technicien réseau
    Inscrit en
    Février 2016
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Technicien réseau
    Secteur : Distribution

    Informations forums :
    Inscription : Février 2016
    Messages : 3
    Points : 4
    Points
    4
    Par défaut Explications condition sur String et conversion en booléen
    Bonjour a tous,
    je suis un cours sur le javasript,
    je ne peux aller plus loin, car je bug sur cette condition ci-dessous.

    Je l'ai retournée dans tous les sens,
    je la comprend pas

    si vous pouvez me l'expliquer clairement, cela serait super cool.

    merci d'avance

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    var nicks = '', nick,
                proceed = true;
     
     
                while (proceed) 
                    {
                        nick = prompt('Entrez un prénom :');
     
                            if (nick) 
                                {
                                    nicks += nick + ' '; // Ajoute le nouveau prénom ainsi qu'une espace juste après
                                }
     
                            else 
                                {
                                    proceed = false; // Aucun prénom n'a été entré, donc on fait en sorte d'invalider la condition, car proceed devient false si le champ est vide
     
                                }
                    }
     
     
                alert(nicks); // Affiche les prénoms à la suite

  2. #2
    Rédacteur/Modérateur

    Avatar de SylvainPV
    Profil pro
    Inscrit en
    Novembre 2012
    Messages
    3 375
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 3 375
    Points : 9 944
    Points
    9 944
    Par défaut
    Les commentaires donnent déjà pas mal d'infos

    Concernant la condition if(nick) ; elle équivaut à écrire if(nick == true). L'opérateur de comparaison == est une comparaison "souple", tandis que l'opérateur === est une comparaison stricte. Une comparaison souple signifie que les valeurs comparées sont converties dans le type le plus simple (cast dynamique). La fonction prompt retourne une String (le texte rentré par l'utilisateur), donc ici la String sera convertie en booléen pour effectuer la comparaison. Le cast de String en booléen est simple: si la String est une chaîne vide (de longueur zéro), elle est castée en false ; sinon en true. Tout ça pour dire que la condition if(nick) sera vraie si nick n'est pas une String vide.

    A noter que le code peut être simplifié comme ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    var nicks = '', nick; 
    while(nick = prompt('Entrez un prénom :')){
    	nicks += nick + ' '; // Ajoute le nouveau prénom ainsi qu'une espace juste aprè		
    }
     
     
    alert(nicks); // Affiche les prénoms à la suite
    One Web to rule them all

  3. #3
    Candidat au Club
    Homme Profil pro
    Technicien réseau
    Inscrit en
    Février 2016
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Technicien réseau
    Secteur : Distribution

    Informations forums :
    Inscription : Février 2016
    Messages : 3
    Points : 4
    Points
    4
    Par défaut
    merci,
    tres bonne explication,
    mais reste un bémol pou rma part,

    que veux dire
    nicks += nick " ";

    merci encore

  4. #4
    Rédacteur/Modérateur

    Avatar de SylvainPV
    Profil pro
    Inscrit en
    Novembre 2012
    Messages
    3 375
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 3 375
    Points : 9 944
    Points
    9 944
    Par défaut
    ça équivaut à nicks = nicks + nick + ' '
    L'opérateur + permet de concaténer les String: "hello" + " world" === "hello world"
    One Web to rule them all

  5. #5
    Candidat au Club
    Homme Profil pro
    Technicien réseau
    Inscrit en
    Février 2016
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Technicien réseau
    Secteur : Distribution

    Informations forums :
    Inscription : Février 2016
    Messages : 3
    Points : 4
    Points
    4
    Par défaut
    Merci beaucoup,

    c'est super de pouvoir s’appuyé sur un forum aussi bien .

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [regexp] Condition sur un string
    Par Benladouche dans le forum MATLAB
    Réponses: 7
    Dernier message: 15/07/2009, 10h26
  2. [2.0] comportement étrange sur condition sur string.indexOf
    Par franculo_caoulene dans le forum VB.NET
    Réponses: 26
    Dernier message: 18/06/2008, 12h09
  3. Réponses: 1
    Dernier message: 05/04/2007, 13h52
  4. [SQL] Conditions sur une date dans une requete
    Par poufouille dans le forum Bases de données
    Réponses: 4
    Dernier message: 17/03/2004, 14h25
  5. Condition sur debug et release
    Par xave dans le forum MFC
    Réponses: 3
    Dernier message: 04/02/2004, 15h04

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo