Überprüfen Sie genau einen Booleschen Optionssatz

Nun, das ist irgendwie abgedreht:

function b2n(boo) {
    return boo ? 1 : 0;
}

if(b2n(opt1) + b2n(opt2) + b2n(opt3) !== 1) {
    throw new Error("Exactly one option must be set");
}

Gibt es eine bessere Möglichkeit, dies in Javascript zu tun? Verwenden Sie eines von

intelligenteres Boolesches / Zahlenhandlinghinterhältige Array- oder Funktionsoperationen

Und so weiter. Willkommen bei Javascript- und Node-Lösungen.

In meinem eigentlichen Problem kommen die Optionen vom Node-Modul-Kommandanten, daher habe ich es nicht mit echten Booleschen, sondern nur mit wahren und falschen Dingen zu tun. Möglicherweise gibt es auch eine Commander-Lösung.

Antworten auf die Frage(6)

Ihre Antwort auf die Frage