Comparing Boolean(false) and primitive false

Question | May 21, 2017 | nextptr 

A Boolean(false) object - bf - is tested for its falseness in 2 ways. The first statement uses equality comparison ('==') to compare it with primitive false, and the second conditional if..else statement checks if it is falsy or truthy:

// Create the Object
var bf = new Boolean(false);

// First Test - Compare with primitive 
console.log( bf == false );

// Second Test - Use in if..else
if( bf ) 
 console.log( true );
 console.log( false );

What is the output of above?