首页 > 解决方案 > Javascript字符串验证问题

问题描述

我正在使用以下函数进行字符串验证:

isValidString = value => (value && value.trim() !== '');

我期待一个布尔返回,但是当value = ''返回值是一个空字符串时。

有人可以解释为什么会这样吗?

标签: javascriptstringvalidation

解决方案


尝试这个。

&& 运算符不分配布尔值,而是返回最后执行的表达式的值。例如,在上面的方法中,如果您传递空字符串,则它返回value为等效于 false 的空字符串。如果你传递非空字符串,那么第二部分将返回 value.trim() !== '',要么为真,要么为假。

    isValidString = value => !!(value && value.trim() !== '');
    console.log(isValidString(""))
    console.log(isValidString("a"))


推荐阅读