如何在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` 的行为不同。还有空字符串、带空格的字符串(`" "`)——这算空吗?
请指教,谢谢。