Avatar ·

如何在JavaScript中正确检查字符串是否为空、null或undefined?

大家好!我是JavaScript新手,正在编写一个简单的注册表单。我需要检查用户是否输入了姓名、电子邮件和密码。但我总是搞混检查条件,得到意想不到的结果。 以下是我当前的代码: ```javascript let userName = document.getElementById('name').value; if (userName == '') { console.log('Имя не заполнено'); } else { console.log('Привет, ' + userName); } ``` 问题是,如果用户没有输入任何内容,`userName` 就是一个空字符串 `""`。但有时我会得到 `null` 或 `undefined`(例如,如果页面上没有该元素,或者我在使用API)。我试过这样写: ```javascript if (userName == null || userName == undefined || userName == '') { // ... } ``` 但这看起来冗长且不美观。此外,我听说 `==` 和 `===` 有区别,并且 `null` 和 `undefined` 的行为不同。还有空字符串、带空格的字符串(`" "`)——这算空吗? 请指教,谢谢。