J'ai une valeur qui sera l'une des quatre choses suivantes: boolean true, boolean false, la chaîne "true" ou la chaîne "false". Je veux convertir la chaîne en booléen s'il s'agit d'une chaîne, sinon laissez-la inchangée. En d'autres termes:
"vrai" devrait devenir vrai
"false" devrait devenir faux
vrai devrait rester vrai
false doit rester faux
!!(if input == 'false' then true else input end)
. Le second !
convertit la valeur de retour en un booléen qui est l'opposé de ce que vous voulez; le premier !
fait alors la correction. Ce "truc" existe depuis longtemps. Tout le monde ne l'aime pas.
true
oufalse
ou est - il suffisant si le résultat est truthy ou Falsey? Si ce dernier, alorsfalse
est déjà faux, et les deuxtrue
et'true'
sont véridiques, donc la seule valeur pour laquelle le résultat n'est pas déjà correct est'false'
:if input == 'false' then true else input end
devrait le faire.