您是否必须检查空值和长度,或者是否有更短的方法来验证非空字符串?

Bil*_* G. 6 javascript string null jquery

#thimble使用服务器端值在页面加载上设置隐藏字段的值.

然后在JavaScript中,我希望只有在填充了一些非空字符串时才对该值起作用.

这是检查值是否为空的最简洁方法吗?

if ($("#thimble").val() != null && $("#thimble").val().length > 0) {
    carryOn();
}
Run Code Online (Sandbox Code Playgroud)

似乎相当长.

CMS*_*CMS 12

空字符串是一个值,我甚至懒得检查它length.

以下等同于您的示例:

if ($("#thimble").val()) {
    carryOn();
}
Run Code Online (Sandbox Code Playgroud)

falsey值是产生的值false时评价在布尔上下文(诸如的条件if语句).

虚假的价值是:

  • null
  • undefined
  • NaN
  • 0
  • "" (空字符串)
  • false

请记住,布尔上下文中的字符串false仅在其长度为时才生成0,如果它具有空格,则它仍会生成true:

Boolean("");     // false
Boolean("    "); // true, whitespace
Run Code Online (Sandbox Code Playgroud)