Avatar ·

Cómo verificar si una variable es un string en JavaScript

¡Hola a todos! Soy nuevo en JavaScript y me encontré con un problema. Tengo una función que debería funcionar solo con valores string. Si paso un número o un objeto, todo se rompe. Estoy intentando verificar el tipo de variable con typeof, pero los resultados me confunden. Aquí hay un ejemplo de mi código: ```javascript function processInput(input) { if (typeof input === 'string') { console.log('Es un string, longitud: ' + input.length); } else { console.log('¡No es un string!'); } } processInput('Hola'); // Funciona: "Es un string, longitud: 4" processInput(42); // Funciona: "¡No es un string!" processInput(new String('Test')); // Muestra "¡No es un string!" — ¡y esperaba que fuera un string! processInput(null); // Muestra "¡No es un string!" — ok processInput(undefined); // Muestra "¡No es un string!" — ok ``` El problema es que cuando creo un string mediante el constructor new String(), typeof devuelve 'object', no 'string'. ¿Cómo verificar correctamente si una variable es un string?