I would have guessed only 2. True/False. Howerver from underscore.js check for Boolean types, we have:
_.isBoolean = function(obj) {
return obj === true || obj === false || toString.call(obj) == '[object Boolean]';
};
I would have thought checking for a value of true or false would have been sufficient, but b.c. of the 3rd operand
toString.call(obj) == '[object Boolean]'
there must be other values?