charAt retourne t'elle une boleen svp

charAt retourne t'elle une boleen svp - HTML/CSS - Programmation

Marsh Posté le 21-12-2008 à 22:36:21    

Bien le bonjour!!! :bounce:  
 
joyeux temps des fêtes tout le monde.
 
 
Je suis plus ou moins nouveau sur ce forum, mais ca fait un bail...
Donc ré-enchanter  tout le monde   :hello: et des que je trouve comment changer
mon nick sans refaire un nouvelle 'account'
 
Donc mon point aujourd'hui fait partie, d'une petite étude personnel en java Script
pour m'améliorer. vous aller voir c'est surement assez basique pour vous. Mais  
je dois passer par ce genre des questionnement vous aller voir :

 
ma question:  
la methode .charAt de l'objet Sring retourne quoi ou plutot quel type de variable dans un contexte ou la valeur passé existe pas dans la string.
 
-au point 1  de mon exemple, je pourrais croire que cest un variable type boleen
-au point 2 et 3 de mon exemple, je commence a etre convaincu
-mail voila que quand jessaye de comparer avec true et false... ben rien se passe.
 
jaimerais etre eclairci sil vous plaît
 
exemple :

Code :
  1. var maString = 'questionDuJour';
  2. /*1*/
  3.           if(maString.charAt(200)){
  4.    alert('exist')
  5.   }else{
  6.  alert('exist pas') 
  7.   }
  8.           //renvoie existe pas
  9.  
  10. /*2*/  
  11.          if(maString.charAt(200) == 1){
  12.    alert('exist')
  13.   }else{
  14.  alert('exist pas') 
  15.   }
  16.          //renvoie existe pas
  17.  
  18. /*3*/  
  19.           if(maString.charAt(200) == 0){
  20.    alert('vrai')
  21.   }else{
  22.  alert('faux') 
  23.   }
  24.   //renvoie faux   
  25.  
  26.   if(maString.charAt(200) == true){
  27.    alert('exist')
  28.   }else{
  29.  alert('exist pas') 
  30.   }
  31.   //renvoie rien   
  32.    if(maString.charAt(200) == false){
  33.    alert('exist')
  34.   }else{
  35.  alert('exist pas') 
  36.   }
  37.           //renvoie rien


 
 
 
 
 
 
 
 
 
 

Reply

Marsh Posté le 21-12-2008 à 22:36:21   

Reply

Marsh Posté le 21-12-2008 à 22:49:21    

Suffit d'aller voir la doc
 
Mais je pense que tu souffres d'une certaine confusion quand au rôle/but de charAt, si tu lis la description de la méthode tu te rendras compte qu'il n'y a aucune raison pour que ça renvoie un booléen [:petrus75]


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
Reply

Marsh Posté le 22-12-2008 à 02:15:48    

masklinn a écrit :

Suffit d'aller voir la doc
 
Mais je pense que tu souffres d'une certaine confusion quand au rôle/but de charAt, si tu lis la description de la méthode tu te rendras compte qu'il n'y a aucune raison pour que ça renvoie un booléen [:petrus75]


 
Effectivement, au premier degré, car en faite la valeur de retour de charAt est le caractere a la position passé dans cette methode, mais dans leventualité ou on demmande une position supérieur a ce que contient la string en nombre de lettre, cela nous renvoietil quelque chose si non, pourquoi mes condition 1 ,2 ,3 dans lexemple que jai donner en debut de topic marche telle? car si 1 vaut true et 0 vaut false ya kkchose que je pige pas. bref je vais aller refaire mes lecture, merci de ta reponse
 
pourquoi ceci fonctionne :

Code :
  1. if(maString.charAt(200) == 1){
  2.          alert('exist')
  3.    }else{
  4.         alert('exist pas')
  5.    }
  6.    //renvoie existe pas

 

mais pas ceci :

Code :
  1. if(maString.charAt(200) == true){
  2.          alert('exist')
  3.    }else{
  4.         alert('exist pas')
  5.    }
  6.    //renvoie rien


 

Reply

Marsh Posté le 22-12-2008 à 10:39:30    

A priori, charAt renvoie une chaine vide quand l'indice en paramètre est supérieur à la longueur.
 

Code :
  1. alert(maString.charAt(200) == "" ) // => true
  2. alert(maString.charAt(200).length) // => 0

Message cité 1 fois
Message édité par Bidem le 22-12-2008 à 10:40:42
Reply

Marsh Posté le 22-12-2008 à 10:56:26    

Bidem a écrit :

A priori, charAt renvoie une chaine vide quand l'indice en paramètre est supérieur à la longueur.
 

Code :
  1. alert(maString.charAt(200) == "" ) // => true
  2. alert(maString.charAt(200).length) // => 0



COMME INDIQU2 DANS LA DOC /FOU/ /FOU/ /FOU/


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
Reply

Marsh Posté le 22-12-2008 à 19:05:34    

Donc la question qui se pose est :
 
si faire des if avec (1 ou 0) comme : if(maString.charAt(200) == 1) ou(maString.charAt(200) == 0)
 
me renvoie true si un caractere existe a cette position,
 
POURQUOI NE PUIS-JE PAS UTILISER TRUE A LA PLACE DE 1 et FALSE A LA PLACE DE 0?
 
merci

Reply

Marsh Posté le 22-12-2008 à 19:32:27    

stragor a écrit :

Donc la question qui se pose est :

 

si faire des if avec (1 ou 0) comme : if(maString.charAt(200) == 1) ou(maString.charAt(200) == 0)

 

me renvoie true si un caractere existe a cette position,


T'as rien compris à ce que fait charAt [:prozac]

stragor a écrit :

POURQUOI NE PUIS-JE PAS UTILISER TRUE A LA PLACE DE 1 et FALSE A LA PLACE DE 0?


Parce que c'est pas la meme chose


Message édité par masklinn le 22-12-2008 à 19:32:42

---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
Reply

Marsh Posté le 22-12-2008 à 19:34:42    

Pour te rassuré, jai tres bien compris a koi sert cette function... cest que je fait un script de debugage et gestion de mes erreur, donc je voulais travailler avec les valeur de retour de cette methode quand on lui passe un mauvais parametre.
 
bref

Reply

Marsh Posté le 22-12-2008 à 19:45:03    

stragor a écrit :

Pour te rassuré, jai tres bien compris a koi sert cette function...


Il serait appréciable que tu écrives correctement.

stragor a écrit :

cest que je fait un script de debugage et gestion de mes erreur, donc je voulais travailler avec les valeur de retour de cette methode quand on lui passe un mauvais parametre.


Tous les exemples que tu as posté dans ce topic sont de la merde, pour parler franchement, il n'y a pas un seul de tes posts qui ait le moindre sens ou intérêt. J'ai donc du mal à voir ce que tu voudrais débugger. charAt ne renvoie ni un booléen ni un entier, et pourtant tu testes systématiquement avec ça, ce qui continue à me faire penser que tu n'as rien compris à son rôle, à son but ou à son utilité.


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
Reply

Marsh Posté le 22-12-2008 à 20:32:38    

D'ailleurs, j'ai l'impression que tu cherches des solutions à des problèmes qui n'existent pas. Si tu veux vérifier que l'indice est bien dans l'intervalle de la chaine fait simplement un test du genre :

Code :
  1. if (0 <= i && i < maChaine.length)
  2.    return maChaine.charAt(i)
  3. else
  4.    // C'est pas un indice valide.


Ou fait un wrapper pour éviter d'écrire ce code à chaque fois.
 
Edit: mais ça ne sert à rien, charAt renvoie déjà un code de retour pour distinguer ce cas de figure.

Message cité 1 fois
Message édité par tpierron le 22-12-2008 à 20:34:13
Reply

Marsh Posté le 22-12-2008 à 20:32:38   

Reply

Marsh Posté le 23-12-2008 à 00:10:45    

tpierron a écrit :

D'ailleurs, j'ai l'impression que tu cherches des solutions à des problèmes qui n'existent pas. Si tu veux vérifier que l'indice est bien dans l'intervalle de la chaine fait simplement un test du genre :

Code :
  1. if (0 <= i && i < maChaine.length)
  2.    return maChaine.charAt(i)
  3. else
  4.    // C'est pas un indice valide.


Ou fait un wrapper pour éviter d'écrire ce code à chaque fois.
 
Edit: mais ça ne sert à rien, charAt renvoie déjà un code de retour pour distinguer ce cas de figure.


 
merci, bon dison que ce post est fini héhé
 
encore joyeuse fetes a vous tous!  :jap:  

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed