2010-07-27 7 views
3

J'ai un petit problème.L'objet booléen dans javascript renvoie true pour le paramètre "false"

J'ai des situations où mon ajax calss renvoie une chaîne.

parfois cette chaîne est "false" je veux toujours convertir cette valeur de chaîne dans un booléen i essayé: new Boolean (thatValue)

mais il retourne vrai même pour "false" comme paremter

est là de toute façon pour résoudre ce problème? ? Sauf moi écrire ma propre fonction personnalisée qui renverra false si « flase » ..

merci

Répondre

3

La meilleure façon de faire, vous avez déjà décrit:

if(value === 'true') { 
    //do something 
} 

Ou:

if(value !== 'false') { 
    //do something 
} 

Vous êtes limité par typage faible de JavaScript ici, le travail fait à votre désavantage, où une chaîne non vide sera converti en un true booléen, même si cela st l'anneau est "false".

Pour l'obtenir et de le stocker pour l'utiliser ailleurs, quelque chose comme cela fonctionne:

var myBool = value !== "false"; 
3

Une chaîne est toujours vrai si elle contient un texte, même si ce texte est « faux ». Vous pouvez le vérifier à l'aide de l'opérateur ternaire:

thatValue == "false" ? false : true 
Questions connexes