An easy way to describe it is: Boolean(5) === !!5;
// convert to boolean
// The following examples are the only values which result in a false expression
!!0 // false
!!"" // false
!!null // false
!!undefined // false
!!NaN // false
n1 = !!true // !!truthy returns true
n2 = !!{} // !!truthy returns true: any object is truthy...
n3 = !!(new Boolean(false)) // ...even Boolean objects with a false .valueOf()!
n4 = !!false // !!falsy returns false
n5 = !!"" // !!falsy returns false
n6 = !!Boolean(false) // !!falsy returns false
condition && ifTrue