Compruebe exactamente un conjunto de opciones booleanas
Bueno, esto es una especie de hacky:
function b2n(boo) {
return boo ? 1 : 0;
}
if(b2n(opt1) + b2n(opt2) + b2n(opt3) !== 1) {
throw new Error("Exactly one option must be set");
}
¿Hay una mejor manera de hacerlo en Javascript? Usando cualquiera de
Un manejo booleano / numérico más inteligente.Arreglo furtivo u operaciones funcionalesEtcétera. Javascript y las soluciones de nodo son bienvenidas.
En mi problema real, las opciones provienen del comandante del módulo Nodo, por lo que no estoy tratando con cosas booleanas verdaderas, solo verdaderas y falsas. Puede haber una solución de comandante también.