Avatar ·

如何检查变量是否为字符串(string)在 JavaScript 中?

大家好!我刚开始学习 JavaScript,遇到了一个问题。我有一个函数,它接受某个参数,我需要确保它确实是一个字符串,而不是数字、数组或其他类型。我尝试使用 `typeof`,但它有时会返回奇怪的结果。 以下是我的代码示例: ```javascript function processInput(input) { if (typeof input === 'string') { console.log('这是字符串!'); } else { console.log('这不是字符串'); } } processInput('你好'); // 有效 processInput(123); // 有效 processInput(new String('测试')); // 显示“这不是字符串”,尽管我期望是字符串 ``` 在最后一个例子中,我传递了对象 `new String('测试')`,我的代码将其判断为非字符串。但这其实也是字符串,只是被包装成了对象!如何正确检查?是否需要考虑这种情况? 另外,我听说 `typeof null` 有一些陷阱,它返回 `"object"`。那么如果变量是