开发者

Do you have to check for null & length or is there a shorter way to verify a non-empty string?

I set the value of a hidden field #thimble on page load using server-side values.

Then in JavaScript I want to act on that value only if it has been populated with some non-empty string.

Is this the most concise way of checking that the value is non-empty?

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

Seems rather 开发者_开发百科long.


An empty string is a falsey value, I wouldn't even bother to check its length.

The following is equivalent to your example:

if ($("#thimble").val()) {
    carryOn();
}

A falsey value is a value that produces false when evaluated in Boolean context (such as the condition of an if statement).

Falsey values are:

  • null
  • undefined
  • NaN
  • 0
  • "" (empty string)
  • false

Remember that a string in Boolean context produces false only when its length is 0, if it has whitespace it still produce true:

Boolean("");     // false
Boolean("    "); // true, whitespace


If by non-empty, you mean anything other than zero-length or whitespace-only , then use $.trim with .length:

if ($.trim($("#thimble").val()).length) {
   ...
}


if ($("#thimble").val().length) {
    carryOn();
}
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜