C'è un modo davvero semplice per attivare o disattivare un valore booleano in JavaScript ?
Finora, il meglio che ho fuori dallo scrivere una funzione personalizzata è il ternario:
bool = bool ? false : true;
C'è un modo davvero semplice per attivare o disattivare un valore booleano in JavaScript ?
Finora, il meglio che ho fuori dallo scrivere una funzione personalizzata è il ternario:
bool = bool ? false : true;
Risposte:
bool = !bool;
Questo è vero nella maggior parte delle lingue.
bool = !bool || true;
per avere un valore predefinito, suppongo.
Se non ti dispiace che il booleano venga convertito in un numero (che è 0 o 1), puoi utilizzare l'operatore di assegnazione BitOR XOR . Così:
bool ^= true; //- toggle value.
Ciò è particolarmente utile se si utilizzano nomi booleani lunghi e descrittivi, ad esempio:
var inDynamicEditMode = true; // Value is: true (boolean)
inDynamicEditMode ^= true; // Value is: 0 (number)
inDynamicEditMode ^= true; // Value is: 1 (number)
inDynamicEditMode ^= true; // Value is: 0 (number)
Per me è più facile scansionare che ripetere la variabile in ogni riga.
Questo metodo funziona in tutti i browser (principali) (e nella maggior parte dei linguaggi di programmazione).
bool ^= 1
bool === false
o di bool === true
più. Potrebbe rompere il codice esistente, quindi fai attenzione.
Vediamo questo in azione:
var b = true;
console.log(b); // true
b = !b;
console.log(b); // false
b = !b;
console.log(b); // true
Comunque, non esiste un modo più breve di quello che hai attualmente.