Avatar ·

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

Olá a todos! Sou novo em JavaScript e enfrentei um problema. Tenho uma função que deve funcionar apenas com valores string. Se eu passar um número ou objeto, tudo quebra. Estou tentando verificar o tipo da variável com typeof, mas os resultados me confundem. Aqui está um exemplo do meu código: ```javascript function processInput(input) { if (typeof input === 'string') { console.log('É uma string, comprimento: ' + input.length); } else { console.log('Não é uma string!'); } } processInput('Olá'); // Funciona: "É uma string, comprimento: 3" processInput(42); // Funciona: "Não é uma string!" processInput(new String('Teste')); // Exibe "Não é uma string!" — mas eu esperava que fosse uma string! processInput(null); // Exibe "Não é uma string!" — ok processInput(undefined); // Exibe "Não é uma string!" — ok ``` O problema é que quando crio uma string com o construtor new String(), typeof retorna 'object', não 'string'. Como verificar corretamente se uma variável é uma string?