Testing for truthiness with and without equals operator

Hello,

I understand the concept of testing for truthiness, but something remains unclear.
The code in both examples is identical (considering using if('apples') and the same argument with a comparison operator mean the same thing…) than why am I getting different outputs?

// Logs Apples = false!
if ('apples' === true) {
  console.log('Apples = true!');
} else {
  console.log('Apples = false!');
}

// Logs Apples = true!
if ('apples') {
  console.log('Apples = true!');
} else {
  console.log('Apples = false!');
}

absolutely not the same thing. strict equality (===) means the value and data type need to match

So without the comp. operator I simply test for truthiness, or in other words:

false => 0, '', "", null, undefined
true  => 1, ' ', " ", NaN, {}, []

And with comp. operator I’m testing whether it evaluates exactly to the same value and data type?

yes.

depends what comparison operator you use, there is equal operator (==) and the strict equality operator (===)

Appreciate the prompt help!