Ich habe einen Wert, der eines von vier Dingen sein wird: boolean true, boolean false, die Zeichenfolge "true" oder die Zeichenfolge "false". Ich möchte den String in einen Booleschen Wert konvertieren, wenn es sich um einen String handelt, andernfalls möchte ich ihn unverändert lassen. Mit anderen Worten:
"wahr" sollte wahr werden
"falsch" sollte falsch werden
wahr sollte wahr bleiben
false sollte false bleiben
!!(if input == 'false' then true else input end)
. Der zweite !
konvertiert den Rückgabewert in einen Booleschen Wert, der das Gegenteil von dem ist, was Sie wollen. der erste nimmt !
dann die Korrektur vor. Dieser "Trick" gibt es schon lange. Nicht jeder mag es.
true
oder ,false
oder ist es ausreichend , wenn das Ergebnis truthy oder Falsey ist? Wenn letzteresfalse
bereits falsch ist und beidetrue
und'true'
wahr sind, so ist der einzige Wert, für den das Ergebnis nicht bereits korrekt ist ,'false'
:if input == 'false' then true else input end
sollte es tun.