Avatar ·

Como verificar corretamente se uma string é vazia, null ou undefined em JavaScript?

Olá a todos! Comecei a estudar JavaScript e me deparei com um problema de verificação de strings. Preciso escrever uma função que recebe uma string e verifica se ela é vazia, null ou undefined. Mas não tenho certeza de como fazer isso corretamente, porque vejo abordagens diferentes em várias fontes. Aqui está um exemplo do meu código: ```javascript function checkString(str) { if (str == null) { return 'A string é null ou undefined'; } if (str === '') { return 'A string está vazia'; } return 'A string não está vazia'; } ``` Mas percebi que isso nem sempre funciona. Por exemplo, se eu passar o número 0 ou false, a condição `str == null` se comporta incorretamente. E o que fazer se a string contiver apenas espaços? Ela deve ser considerada vazia? Também li que alguns usam `if (!str)`, mas isso verifica todos os valores "falsy" (0, false, NaN), e não apenas string vazia, null e undefined. Preciso de uma verificação especificamente para valores de string. Por favor, me digam qual é a maneira