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