That's an instance of the Boolean function, not a boolean primitive.
true and false in javascript are boolean primitives.  When you use them with boolean operators, they behave as you would expect.  For example true || false is true and true && false is false.
On the other hand, Boolean is a special function which can convert other data types into boolean's (among other things).  When you call new Boolean(false), you're creating a Boolean object which contains the boolean primitive false.  That's the critical distinction in this case.
In short,
- if(new Boolean())uses javascript's truthy value rules.  It is an object which is not null, so it's "true".
- if(false)is a boolean primitive and actually checks for true/false.