
Parfois, on peut rencontrer le problème de convertir la représentation en chaîne d’une valeur en la valeur elle-même. Cette opération est souvent simple, comme dans le cas des valeurs numériques. Cependant, les représentations en chaîne de valeurs booléennes peuvent être un peu plus délicates.
Ce problème est dû au fait que toute chaîne non vide est considérée comme véridique en JavaScript. De plus, les chaînes peuvent avoir des majuscules ou des espaces différents, ce qui rend plus difficile leur comparaison directe avec une constante.
Pour contrer ce problème, il est souvent utile d’utiliser quelques transformations, à savoir String.prototype.toLowerCase()
et String.prototype.trim()
afin de rendre la représentation de la chaîne de caractères de la valeur plus cohérente. En outre, un tableau des valeurs acceptables pourrait faciliter la conversion dans certains cas.
const toBoolean = (value, truthyValues = ['true']) => {
const normalizedValue = String(value).toLowerCase().trim();
return truthyValues.includes(normalizedValue);
};
toBoolean('true');
toBoolean('TRUE');
toBoolean('True');
toBoolean('tRue ');
toBoolean('false');
toBoolean('FALSE');
toBoolean('False');
toBoolean('fAlse ');
toBoolean('YES', ['yes']);
toBoolean('no', ['yes']);
Extraits et collections recommandés
-
Une collection de conseils et d’astuces rapides pour améliorer vos compétences en codage, étape par étape.
-
Convertit une chaîne de valeurs séparées par des virgules (CSV) en un tableau d’objets 2D.
La première ligne de la chaîne est utilisée comme ligne de titre. -
Convertit une chaîne
hsl()
chaîne de couleur en un objet contenant les valeurs de chaque couleur. -
Convertit un
rgb()
chaîne de couleur en un objet contenant les valeurs de chaque couleur.