Faz parte do material de JavaScript que eu montei a partir das minhas entrevistas. Abaixo, a resposta em inglês e, quando existe, a pegadinha mais comum.
Falsy primitives are false, 0, -0, 0n, an empty string, null, undefined, and NaN. Objects are truthy, including empty arrays and objects. Browsers have one legacy exception, document.all, which is falsy. Do not use it as a normal application pattern.
Trap: if ([]) runs, but [] == false is true because loose equality coerces the operands. Prefer === when coercion is not part of the intended contract.
Essa pergunta tem uma armadilha que derruba muita gente em entrevista. Ela está marcada na resposta acima: vale reler antes de treinar.
Ler é o primeiro passo. No app, essa pergunta vira flashcard com repetição espaçada, e o módulo tem quiz e simulado para testar o que ficou.
Treinar essa pergunta no app