Well, this is kind of hacky:
function b2n(boo) { return boo ? 1 : 0; } if(b2n(opt1) + b2n(opt2) + b2n(opt3) !== 1) { throw new Error(\"Exactly one o
if ([opt1, opt2, opt3].reduce(function(x, y) { return x + !!y }, 0) == 1) { // exactly one };
ECMAScript 5 reduce function.