javascript - Javascript字符串验证问题
问题描述
我正在使用以下函数进行字符串验证:
isValidString = value => (value && value.trim() !== '');
我期待一个布尔返回,但是当value = ''
返回值是一个空字符串时。
有人可以解释为什么会这样吗?
解决方案
尝试这个。
&& 运算符不分配布尔值,而是返回最后执行的表达式的值。例如,在上面的方法中,如果您传递空字符串,则它返回value
为等效于 false 的空字符串。如果你传递非空字符串,那么第二部分将返回 value.trim() !== ''
,要么为真,要么为假。
isValidString = value => !!(value && value.trim() !== '');
console.log(isValidString(""))
console.log(isValidString("a"))
推荐阅读
- jquery - addClass 和 removeClass 方法不起作用
- syncfusion - 安装 Syncfusion 仪表板服务器后,我运行它并收到此错误,并且无法访问本地网站
- c# - 如何通过 Selenium 和 C# 从子节点获取属性
- uwp - 使用打包项目将 exe 注册到自定义协议处理程序
- sql-server - 为什么 GETDATE() 不能用作过程参数的默认值或 EXECUTE 语句中的值?
- python - 删除与小于指定大小的组对应的行
- ios - 在集合视图中执行 numberof 部分时发生崩溃
- python - 将参数传递给在 docker 容器中运行的 python 脚本
- google-play - 我们在Play商店发布了应用程序,但我需要测试,如何降级应用程序?
- docker - Docker“登录成功”但仍无法推送到 GCP 私有注册表