まあ、これは一種のハックです:
function b2n(boo) {
return boo ? 1 : 0;
}
if(b2n(opt1) + b2n(opt2) + b2n(opt3) !== 1) {
throw new Error("Exactly one option must be set");
}
Javascriptでこれを行うより良い方法はありますか? のいずれかを使用して
- よりインテリジェントなブール/数値処理
- 卑劣な配列または関数操作
などなど。Javascript および Node ソリューションを歓迎します。
私の実際の問題では、オプションはNodeモジュールコマンダーから来ているので、真のブール値ではなく、真実と虚偽のものだけを扱っています。コマンダーソリューションもあるかもしれません。