Avatar ·

Como verificar se uma variável é uma string em JavaScript?

Olá a todos! Acabei de começar a aprender JavaScript e me deparei com um problema. Tenho uma função que recebe algum argumento e preciso garantir que seja exatamente uma string, e não um número, array ou outra coisa. Tentei usar `typeof`, mas às vezes ele retorna coisas estranhas. Aqui está um exemplo do meu código: ```javascript function processInput(input) { if (typeof input === 'string') { console.log('É uma string!'); } else { console.log('Não é uma string'); } } processInput('Olá'); // funciona processInput(123); // funciona processInput(new String('Teste')); // diz "não é uma string", embora eu esperasse uma string ``` No último caso, estou passando um objeto `new String('Teste')`, e meu código o identifica como não sendo string. Mas isso também é uma string, só que encapsulada em um objeto! Como verificar corretamente? Devo considerar esses casos? Também ouvi falar que existem algumas armadilhas com `typeof null`, que retorna `"object"`. E o que acontece se a variável for