Czy istnieje naprawdę łatwy sposób przełączania wartości boolowskiej w javascript ?
Do tej pory najlepsze, co mam poza pisaniem funkcji niestandardowej, to trójka:
bool = bool ? false : true;
javascript
boolean
toggle
Chris Dutrow
źródło
źródło
bool = !bool || true;
Przypuszczam, że można go rozwinąć, aby mieć wartość domyślną.Jeśli nie przeszkadza ci konwersja wartości logicznej na liczbę (czyli 0 lub 1), możesz użyć Bitowego operatora przypisania XOR . Tak jak:
Jest to szczególnie dobre, jeśli używasz długich, opisowych nazw boolowskich, np .:
To jest dla mnie łatwiejsze do skanowania niż powtarzanie zmiennej w każdej linii.
Ta metoda działa we wszystkich (głównych) przeglądarkach (i większości języków programowania).
źródło
bool ^= 1
bool === false
anibool === true
więcej. Może to uszkodzić istniejący kod, więc bądź ostrożny.Jeden z przypadków.
źródło
Zobaczmy to w akcji:
W każdym razie nie ma krótszej drogi niż to, co obecnie masz.
źródło
jeśli chcesz, aby wartość była prawdziwa, jeśli
tool
(inny boolean) ma tę samą wartośćźródło
Szukałem metody przełączania, która robi to samo, z wyjątkiem początkowej wartości
null
lubundefined
, gdzie powinna się ona staćfalse
.Oto on:
źródło